Swagger基于Spring Boot上配置
Swagger是什么?
官方说法:Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。swagger的一个最大的优点是能实时同步api与文档。在项目开发过程中,发生过多次:修改代码但是没有更新文档,前端还是按照老旧的文档进行开发,在联调过程中才发现问题的情况(当然依据开闭原则,对接口的修改是不允许的,但是在项目不稳定阶段,这种情况很难避免)。
spring boot 集成 Swagger
目前维护的系统是基于springboot框架开发的,因此本文会详细描述springboot与swagger集成的过程。添加maven依赖,需要在系统的pom中添加如下依赖:
<!-- swagger包 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<!--过Swagger UI来生成一个可读性良好的api页面-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
添加swagger配置文件,配置文件如下:
@Configuration
//注解EnableSwagger2声明Swagger的可用
@EnableSwagger2
//开启自动配置 并且在启动的时候自动启动
@EnableAutoConfiguration
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
// 选择那些路径和api会生成document
.pathMapping("/").select()
// 对所有api进行监控
.apis(RequestHandlerSelectors.any())
//指定api进行监控
//.apis(RequestHandlerSelectors.basePackage("com.taikang.healthcare.cis.emr.controller"))
// 对所有路径进行
.paths(PathSelectors.any()) 监控
.build();
}
private ApiInfo