前言:SpringBoot集成Swagger使用,Swagger是一个专门处理接口问题的框架,常用于当前主流的前后端分离项目,用于规范开发接口。
Swagger2:3.0
Swagger
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
作用:给属性或接口增加注释信息、接口文档实时更新、在线功能测试
swagger2-2.0
因为Swagger2.0和Swagger3.0存在改动,因此分开说明。swaggerUI路径也不一样
导入依赖
pom.xml
<!--swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!--swagger-ui-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
配置swagger
config/SwaggerConfig.java
@Configration // 声明配置类
@EnableSwagger2 // 开启Swagger2自动配置
public class SWaggerConfig{
}
swaggerUI:http://localhost:8080/swagger-ui.html
swagger2-3.0
导入依赖
pom.xml
<!--swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
配置swagger
config/SwaggerConfig.java
@Configration // 声明配置类
@EnableOpenApi // 开启Swagger2自动配置
public class SWaggerConfig{
}
swaggerUI:http://localhost:8080/swagger-ui/index.html
SwaggerUI的界面与原来的2.0版本不同,变成了以上的位置
配置Swagger信息
config/SwaggerConfig.java
@Configuration // 配置类
@EnableOpenApi // Swagger2自动配置
public class SwaggerConfig {
// 配置Swagger的Docket的Bean实例
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2) // 选择文档类型
.apiInfo(apiInfo()); // API信息
}
// 配置Swagger的API文档信息
private ApiInfo apiInfo() {
Contact contact = new Contact("ABC", "http://baidu.com", "1234567@qq.com");
return new ApiInfo(
"ABC的API文档", // 标题
"文档描述", // 描述
"v1.0", // 版本
"http://baidu.com", // 组织链接
contact, // 联系信息
"Apache 2.0", // 许可
"http://www.apache.org/licenses/LICENSE-2.0", // 许可链接
new ArrayList() // 扩展
);
}
}
配置Swagger扫描接口
docket.java
@Bean
public Docket docket(Environment environment) {
return new Docket(DocumentationType.SWAGGER_2) // 选择文档类型
.apiInfo(apiInfo()) // API信息
.enable(true) // 是否启动Swagger,true为启动
.select()
// RequestHandlerSelectors 配置要扫描接口方式
// basePackage 指定要扫描的包
.apis(RequestHandlerSelectors.basePackage("com.kuang.controller"))
.build();
}
配置Swagger开关
根据配置环境的激活状态启动
docket.java
@Bean
public Docket docket(Environment environment) {
Profiles profiles = Profiles.of("dev", "test"); // 设置要显示的Swagger环境
boolean flag = environment.acceptsProfiles(profiles); // 判断是否处于设定的环境当中
return new Docket(DocumentationType.SWAGGER_2) // 选择文档类型
.apiInfo(apiInfo()) // API信息
.enable(flag) // 是否启动Swagger
.select()
// RequestHandlerSelectors 配置要扫描接口方式
// basePackage 指定要扫描的包
.apis(RequestHandlerSelectors.basePackage("com.kuang.controller"))
.build();
}
参考资料来源: