SpringBoot集成Swagger详细教程
一 .Swagger介绍
1.对于后端开发人员来说
不用再手写Wiki接口拼大量参数,避免手写错误
对代码侵入性低,采用全注解的方式,开发简单
方法参数名修改、新增、减少参数都可以直接生效,不用手动维护
缺点:增加了开发成本,写接口还得再写一套参数配置
2.对前端开发来说
后端只需要定义好接口,会自动生成文档,接口功能、参数一目了然
联调方便,如果出了问题,直接测试接口,实时检查参数和返回值,就可以快速定位是前端还是后端的问题
3.对于测试
但对于测试没有前端界面UI的功能,可以直接用它来测试接口
操作简单,不用了解具体代码就可以操作
二.springboot集成swagger
- 导入依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
- 配置swagger类
@Configuration
@EnableSwagger2
public class MySwagger {
}
- 重启项目访问http://localhost:8080/swagger-ui.html
注意:如果项目有拦截器需要在拦截其中放行swagger资源路径:
.excludePathPatterns("/swagger-ui.html")
.excludePathPatterns("/v2/**")
.excludePathPatterns("/swagger-resources/**")
进入swagger-ui界面,swagger-ui界面可以用来测试接口,和查看api接口信息默认扫描所有api接口
显示以下界面则配置成功
三.了解swagger的一些知识点
知识点一: 在swagger配置类中可以通过注入Docket,自定义配置swagger参数
先配置一个swagger-ui界面的描述信息
swagger-ui界面显示为
swagger默认扫描所有api接口,所以页面会显示一些我们不需要的接口,我们可以通过Docket类来配置指定显示api。配置方法有很多种
1. 指定显示controller包下的控制器
swagger-ui界面则显示controller包下的所有控制器里的接口
2.通过类上面的注解来扫描api接口(例:扫描有@RestController注解的类)
我创建的helloController中有@RestController注解
swagger-ui界面
3.基于方法上的注解扫描
helloController控制器类
swagger配置类
swagger-ui界面
–如果想要指定某一些控制器接口(在这里我指定只扫描hello控制器中的api接口)
swagger-ui界面
知识点二:在Controller控制器中添加描述
@RestController
@Api(tags="接口所在的类")
@RequestMapping ("/my")
public class helloController {
@RequestMapping(value="/list", method=RequestMethod.POST)
@ApiOperation(value = "接口名", notes = "接口描述", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "length",value = "参数1", required = true, paramType = "path"),
@ApiImplicitParam(name = "size",value = "参数2", required = true, paramType = "query"),
@ApiImplicitParam(name = "page",value = "参数3", required = true, paramType = "header"),
@ApiImplicitParam(name = "total",value = "参数4", required = true, paramType = "form"),
@ApiImplicitParam(name = "start",value = "参数5",dataType = "string", paramType = "body")
})
public String hello(){
return "hello swagger";
}
}
以上就是我分享的soringboot集成swagger的内容,和swagger的部分知识点
如果想要了解更多swagger的内容可以去swagger的官网
官网地址:https://swagger.io/