Update Swagger2Config.java

main
pveayojnc 4 months ago
parent 907aabe4c4
commit fe221430c6

@ -20,68 +20,87 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* Swagger2 * Swagger2
* Swagger2RESTful API
*
*/ */
@Configuration @Configuration // 声明为Spring配置类
@EnableSwagger2 @EnableSwagger2 // 启用Swagger2功能
public class Swagger2Config { public class Swagger2Config {
/**
* Web
* header
* @return Docket
*/
@Bean @Bean
public Docket webApiConfig(){ public Docket webApiConfig(){
// ==================== 配置全局header参数 start ====================
//添加head参数start
List<Parameter> pars = new ArrayList<>(); List<Parameter> pars = new ArrayList<>();
// 用户ID参数配置
ParameterBuilder tokenPar = new ParameterBuilder(); ParameterBuilder tokenPar = new ParameterBuilder();
tokenPar.name("userId") tokenPar
.description("用户ID") .name("userId") // 参数名称
.defaultValue("1") .description("用户ID") // 参数描述
.modelRef(new ModelRef("string")) .defaultValue("1") // 默认值
.parameterType("header") .modelRef(new ModelRef("string")) // 参数类型
.required(false) .parameterType("header") // 参数位置header
.required(false) // 是否必填
.build(); .build();
pars.add(tokenPar.build()); pars
.add(tokenPar.build()); // 添加到参数列表
// 临时用户ID参数配置
ParameterBuilder tmpPar = new ParameterBuilder(); ParameterBuilder tmpPar = new ParameterBuilder();
tmpPar.name("userTempId") tmpPar
.description("临时用户ID") .name("userTempId") // 参数名称
.defaultValue("1") .description("临时用户ID") // 参数描述
.modelRef(new ModelRef("string")) .defaultValue("1") // 默认值
.parameterType("header") .modelRef(new ModelRef("string")) // 参数类型
.required(false) .parameterType("header") // 参数位置
.required(false) // 是否必填
.build(); .build();
pars.add(tmpPar.build()); pars
//添加head参数end .add(tmpPar.build()); // 添加到参数列表
// ==================== 配置全局header参数 end ====================
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2) // 指定Swagger2版本
.groupName("webApi") .groupName("webApi") // 分组名称
.apiInfo(webApiInfo()) .apiInfo(webApiInfo()) // 设置文档信息
.select() .select()
//可以测试请求头中输入token // 指定扫描的Controller包路径
//.apis(RequestHandlerSelectors.withClassAnnotation(ApiOperation.class)) .apis(RequestHandlerSelectors.basePackage("com.zsz.controller"))
.apis(RequestHandlerSelectors.basePackage("com.zsz.controller")) // 可选过滤配置(当前注释状态):
//过滤掉admin路径下的所有页面 // 1. 只扫描带@ApiOperation注解的方法
//.paths(Predicates.and(PathSelectors.regex("/sms/.*"))) // .apis(RequestHandlerSelectors.withClassAnnotation(ApiOperation.class))
//过滤掉所有error或error.*页面 // 2. 过滤指定路径
//.paths(Predicates.not(PathSelectors.regex("/error.*"))) // .paths(Predicates.and(PathSelectors.regex("/sms/.*")))
// 3. 排除错误路径
// .paths(Predicates.not(PathSelectors.regex("/error.*")))
.build() .build()
.globalOperationParameters(pars); .globalOperationParameters(pars); // 添加全局参数
} }
/**
* Web
* @return
*/
private ApiInfo webApiInfo(){ private ApiInfo webApiInfo(){
return new ApiInfoBuilder() return new ApiInfoBuilder()
.title("网站-API文档") .title("网站-API文档") // 文档标题
.description("本文档描述了网站微服务接口定义") .description("本文档描述了网站微服务接口定义") // 文档描述
.version("1.0") .version("1.0") // 版本号
.contact(new Contact("atguigu", "http://atguigu.com", "512111559@qq.com")) .contact(new Contact("atguigu", "http://atguigu.com", "512111559@qq.com")) // 联系人信息
.build(); .build();
} }
/**
*
* 使
* @return
*/
private ApiInfo adminApiInfo(){ private ApiInfo adminApiInfo(){
return new ApiInfoBuilder() return new ApiInfoBuilder()
.title("后台管理系统-API文档") .title("后台管理系统-API文档")
.description("本文档描述了后台管理系统微服务接口定义") .description("本文档描述了后台管理系统微服务接口定义")
@ -89,6 +108,4 @@ public class Swagger2Config {
.contact(new Contact("atguigu", "http://atguigu.com", "512111559@qq.com")) .contact(new Contact("atguigu", "http://atguigu.com", "512111559@qq.com"))
.build(); .build();
} }
}
}
Loading…
Cancel
Save