SpringBoot集成Swagger
一、引入依赖
示例:我这spring-boot 使用的是2.3.7.RELEASE
<!-- swagger -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
二、添加配置
1.编写配置类
代码如下(示例):
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* 将负责生成摘要的Bean提供出去
* @return
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//扫描的路径包,设置basePackage会将包下的所有被@Api标记类的所有方法作为api
.apis(RequestHandlerSelectors.basePackage("com.superlong.controller"))
//指定路径处理PathSelectors.any()代表所有的路径
.paths(PathSelectors.any())
.build();
}
/**
* 用来设置文档元信息
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//设置文档标题(API名称)
.title("SpringBoot中使用Swagger2接口规范")
//文档描述
.description("接口说明")
//版本号
.version("1.0.0")
.build();
}
2.在生产环境中隐藏swagger文档
代码如下(示例):
在SwaggerConfig类上添加注解
@Profile("dev")
spring:
profiles:
active: prod
这样就完成了对swagger文档的隐藏。