controller层接入swagger

原创
2020/05/20 15:19
阅读数 407

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");


    }

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部