1、在pom.xml中引入swagger依赖包
<!-- swagger配置依赖 -->
<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、在.yml中配置swagger配置信息
# Swagger配置
swagger:
enabled: N # 是否开启swagger Y:开启swagger/N:关闭swagger
pathMapping: /dev # 请求前缀
group: Admin # 分组
title: 用户系统 # 标题
description: 用户系统 #描述
url: 网址 # 网址
email: 邮箱 # 邮箱
3、建立swagger管理类,通过enable管理swagger是否开启,例如生产环境可以管理swagger
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Value("${swagger.enabled}")
private String enabled;
@Bean
public Docket createRestApi() {
boolean enabledBL = false;
if (YNEnum.YES.getCode().equals(enabled)) {
enabledBL = true;
}
return new Docket(DocumentationType.SWAGGER_2)
.enable(enabledBL)//是否开启swagger
.apiInfo(apiInfo())//swagger界面信息
.select()
.apis(RequestHandlerSelectors.basePackage("com.user.controller"))//controller文件路径
.paths(PathSelectors.any())
.build()
// .globalOperationParameters(setHeaderToken())//token验证
;
}
/**
* 设置管理界面信息
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("User-swagger")
.description("User接口管理")
.termsOfServiceUrl("")
.version("1.0")
.build();
}
/**
* 设置swagger文档中全局参数
* @return
*/
private List<Parameter> setHeaderToken() {
List<Parameter> pars = new ArrayList<>();
ParameterBuilder userId = new ParameterBuilder();
userId.name("token").description("用户TOKEN").modelRef(new ModelRef("string")).parameterType("header")
.required(true).build();
pars.add(userId.build());
return pars;
}
}