spring boot 集成swagger
swagger是干什么用的?
随着互联网技术的发展,前后端分离算是一个潮流(或趋势?)。
在没有API文档工具之前,大家都是手写API文档的,一个公司一个模板。一旦接口发生改动,对应的文档也需要改动,但是不及时更新,就会造成前后端的信息不同步。
swagger不用手写,通过注解配置就可以自动生成API文档的框架。后端开发人员还可以通过ui页面自己测试接口。
swagger基于springboot集成起来也特别简单
1、pom
版本2.6.1
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox-swagger-ui.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-swagger2.version}</version>
</dependency>
2、启用swagger
package com.jsw.config;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2 // 启用 Swagger
public class SwaggerConfig {
}
3、添加注解
@Api(value = "TestController", description = "测试相关api")
@RestController
@RequestMapping("/test")
public class TestController {
private final static Logger logger = LoggerFactory.getLogger(Test.class);
@ApiOperation(httpMethod = "POST", value = "测试列表")
@ApiResponses({ @ApiResponse(code = 200, message = "请求成功") })
@ApiImplicitParams({
@ApiImplicitParam(name = "number", required = false, value = "姓名", paramType = "query", dataType = "string"),
@ApiImplicitParam(name = "age", required = false, value = "年龄", paramType = "query", dataType = "int")
})
@RequestMapping("/test")
public String test(User user) {
return "";
}
}
4、访问http://你的ip:端口/swagger-ui.html
效果展示