springmvc整合swagger
2024-10-11 20:05:53
前言
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。
关于springmvc框架整合swagger的技术相信网上已经有很多demo了。但是前不久我刚学习的时候我试这从网上拉了代码下来,发现整合失败了。后来在自己的努力下终于成功了。下面就给大家来介绍一下吧 (*^__^*) 嘻嘻。
1.依赖管理
在整合之前,先要把必要的jar包引入进来。我这里用到了maven代码管理工具,所以只需要在pom.xml文件里引入以来就好了。
<!-- swagger-mvc --> <dependency> <groupId>com.mangofactory</groupId> <artifactId>swagger-springmvc</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.6.6</version> </dependency> <!-- swagger-mvc --> <!-- slfj4 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency>
2.swagger配置
package cn.fansunion.swagger.serverapi.swagger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import com.mangofactory.swagger.configuration.SpringSwaggerConfig; import com.mangofactory.swagger.models.dto.ApiInfo; import com.mangofactory.swagger.paths.SwaggerPathProvider; import com.mangofactory.swagger.plugin.EnableSwagger; import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin; @Configuration @EnableWebMvc @EnableSwagger public class CustomJavaPluginConfig extends WebMvcConfigurerAdapter { private SpringSwaggerConfig springSwaggerConfig; @Autowired public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) { this.springSwaggerConfig = springSwaggerConfig; } /** * 链式编程 来定制API样式 后续会加上分组信息 * * @return */ @Bean public SwaggerSpringMvcPlugin customImplementation() { return new SwaggerSpringMvcPlugin(this.springSwaggerConfig) .apiInfo(apiInfo()).includePatterns(".*") .useDefaultResponseMessages(false) // .pathProvider(new GtPaths()) .apiVersion("0.1"); } private ApiInfo apiInfo() { ApiInfo apiInfo = new ApiInfo("SwaggerAPI接口平台", "提供详细的后台所有Restful接口", "http://blog.csdn.net/FansUnion", "1058449814@qq.com", "我的邮箱", "http://baidu.com"); return apiInfo; } @Override public void configureDefaultServletHandling( DefaultServletHandlerConfigurer configurer) { configurer.enable(); } class GtPaths extends SwaggerPathProvider { @Override protected String applicationPath() { return "/restapi"; } @Override protected String getDocumentationPath() { return "/restapi"; } } }
.....待续
最新文章
- 关于struts和Spring 结合到一起之后存在ACtion创建单实例还是多
- Nice Validator(Form验证)及Juery zTree控件
- JSON.stringify()、JSON.parse()和eval(string)
- Java反射机制(Reflection)
- SQL Server中的事务日志管理(3/9):事务日志,备份与恢复
- wpf仿QQ之窗体翻转
- 解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题
- Power of Cryptography
- ORACLE 主要后台进程1
- J2SE知识点摘记(二十一)
- 进阶:案例六: Context Menu(静态 与 动态)
- tp框架 使用ajax
- pyqt样式表语法笔记(中)
- 深入讨论channel timeout
- javascript基础修炼(4)——UMD规范的代码推演
- python 之C3算法
- Spring Boot(二):Web 综合开发
- oracle 12C ORA-07445 12.1.0.2.0
- C#利用反射实现两个类的对象之间相同属性的值的复制
- php7配置多线程
热门文章
- vue_mint-ui
- [LeetCode] Binary Trees With Factors 带因子的二叉树
- python中的包与模块
- 配置NTP网络时间自动校对系统时间和创建备份文件
- 壁虎书3 Classification
- Convert List<;Entity>; to Json String.
- 多线程深入:乐观锁与悲观锁以及乐观锁的一种实现方式-CAS(转)
- JAVA学习笔记 (okHttp3的用法)
- MySQL 误删数据、误更新数据(update,delete忘加where条件)
- (转)手工释放linux内存——/proc/sys/vm/drop_cache