没有合适的资源?快使用搜索试试~ 我知道了~
Springboot中集成Swagger2框架的方法
0 下载量 116 浏览量
2020-08-28
13:39:24
上传
评论
收藏 190KB PDF 举报
温馨提示
试读
4页
主要介绍了Springboot中集成Swagger2框架的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
资源推荐
资源详情
资源评论
Springboot中集成中集成Swagger2框架的方法框架的方法
主要介绍了Springboot中集成Swagger2框架的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
摘要:在项目开发中,往往期望做到前后端分离,也就是后端开发人员往往需要输出大量的服务接口,接口的提供方无论是是Java还是
PHP等语言,往往会要花费一定的精力去写接口文档,比如A接口的地址、需要传递参数情况、返回值的JSON数据格式以及每一个字段说
明、当然还要考虑HTTP请求头、请求内容等信息。随着项目的进度快速高速的迭代,后端输出的接口往往会面临修改、修复等问题,那也
意味着接口文档也要进行相应的调整。接口文档的维护度以及可读性就大大下降。
既然接口文档需要花费精力去维护,还要适当的进行面对面交流沟通,我们何不想一个办法,第一:可以不用写接口文档;第二:前端与
后端沟通接口问题的时候,后端是否可以提供一个URL,在这个URL中罗列出所有可以调用的服务接口,并在每个服务接口中罗列出参数
的说明,返回值的说明,第三:后端接口如果能模拟调用就所有问题都解决了。本文我们重点讲解一下Sringboot中集成Swagger2框架。
1.1. 添加添加Swagger2依赖依赖
在项目的pom.xml文件中增加如下的依赖。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
首先,我们需要建立一个启动类,代码如下:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
然后在上述类的同级目录中新建swagger2的配置类如下所示:
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.shareniu.web"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("跟着分享牛学习Springboot源码分析系列课程")
.description("更多Spring Boot相关文章请关注分享牛的博客")
.termsOfServiceUrl("http://www.shareniu.com/")
.contact("牛牛")
.license("Copyright 2017-2018 分享牛")
.version("1.0")
.build();
}
}
@Configuration制定了spring要加载这个类,@EnableSwagger2注解要开启Swagger功能。
上述中的ApiInfo最终都会展现在前端,我们使用了扫描包的方式配置配置,也就是RequestHandlerSelectors.basePackage。在这个包以及
子包中的控制器最终都是生成API文档。(除了被@ApiIgnore注解指定的请求)。
1.2. 新增文档说明新增文档说明
上述的类声明之后,我们其实就可以直接调用了,但是为了增加文档的可读性,我们还是需要在接口中增加一些说明,我们先写一个控制
器如下所示:
@RestController
@RequestMapping(value="/users")
public class UserController {
static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long, User>());
static {
User user = new User();
user.setAge(18);
user.setId(1L);
user.setName("aa");
users.put(1L, user);
}
@ApiOperation(value="获取所有用户列表", notes="")
资源评论
weixin_38669881
- 粉丝: 5
- 资源: 918
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Android源码新基线代码更新的方法
- 1_二级程序设计题(34).rar
- 二级程序调试题(填空27+改错7).docx
- HM2314-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于深度学习的危险驾驶检测算法python源码+视频判断是否闭眼或者张开嘴哈欠和吸烟打电话等手势行为功能涵盖7类.zip
- Free-Fs 开源文件管理系统
- HM2314B-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 毕业设计:Python高校学生学业预警系统(源码 + 数据库 + 说明文档)
- HM2312-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 毕业设计:Python的在线自主评测系统(源码 + 数据库 + 说明文档)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功