Swagger2配置
@Configuration
@EnableSwagger2
@Profile("dev")
public class Swagger2 {
@Bean
public Docket createRestApi() {
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com"))
.paths(PathSelectors.any())
.build();
docket.globalOperationParameters(getGlobalOperationParameters());
return docket;
}
private List<Parameter> getGlobalOperationParameters() {
List<Parameter> pars = new ArrayList<>();
ParameterBuilder parameterBuilder = new ParameterBuilder();
parameterBuilder.name("tk").defaultValue("tk值").description("默认是一淘的tk,其他平台请更换").modelRef(new ModelRef("String")).parameterType("query").required(true);
pars.add(parameterBuilder.build());
parameterBuilder.name("v").defaultValue("5.0.0").description("版本号").modelRef(new ModelRef("String")).parameterType("query").required(true);
pars.add(parameterBuilder.build());
parameterBuilder.name("p").defaultValue("iOS").description("平台").modelRef(new ModelRef("String")).parameterType("query").required(true);
pars.add(parameterBuilder.build());
return pars;
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("API接口文档")
.description("")
.termsOfServiceUrl("")
.version("1.0")
.build();
}
}
Filterfilter拦截设置
private static boolean matches(String lookupPath){
if (!ObjectUtils.isEmpty(noNeedLoginUrlList)) {
for (String pattern : noNeedLoginUrlList) {
if (pathMatcher.match(pattern, lookupPath)) {
return false;
}
}
}
return true;
}
private static PathMatcher pathMatcher = new AntPathMatcher();
//
public static Set<String> noNeedLoginUrlList = new HashSet<String>();
static {
// swagger资源过滤勿动
noNeedLoginUrlList.add("/swagger*");
noNeedLoginUrlList.add("/webjars/springfox-swagger-ui/*");
noNeedLoginUrlList.add("/swagger-resources/*");
noNeedLoginUrlList.add("/v2/api-docs");
}