Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,是非常流行的API表达工具。
能够自动生成完善的RESTful API文档,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。
springboot整合Swagger2:
1.导入依赖
<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>
2.添加配置类
@Configuration //告诉Spring容器, 这个类是一个配置类
@EnableSwagger2 //启用Swagger2功能
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// com包下所力API都交给Swagger2管型
.apis(RequestHandlerSelectors.basePackage("com"))
.paths(PathSelectors.any()).build();
}
// API文档页面显示信息
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("演示项目") //标题
.description("Swagger2界面") //描述
.build();
}
}
3.版本冲突问题
Spring Boot 2.6.X后与Swagger有版本冲突问题,需要在application配置类中加入
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
4.启动项目后,浏览器访问 http://127.0.0.1:8080/swagger-ui.html,即可打开自动生成的可视化测试页面。
5.Swagger提供了一系列注解来描述接口信息,包括接口说明、请求方法、请求参数、返回信息等。