swagger设置全局参数(例如token),但是部分接口不需要该全局参数,如何配置?

白菜粉条炖猪蹄儿 发布于 2018/12/18 10:02
阅读 8K+
收藏 1

如题,给swagger配置了一个全局的参数token,但是部分的接口不需要该参数(如登录接口),如何单独的将该接口的参数进行屏蔽(不在页面显示)呢?

以下为swagger基础配置:

 

加载中
0
白菜粉条炖猪蹄儿
@Bean(value = "defaultApi")
public Docket defaultApi() {
    List<Parameter> pars = new ArrayList<Parameter>();

    ParameterBuilder tokenPar = new ParameterBuilder();
    tokenPar.name(headerToken).description(tokenDescription)
            .modelRef(new ModelRef("String")).parameterType("header")
            .required(tokenRequired).build(); //header中的Token参数必填,但是这里不能解决部分接口不需要token参数

    pars.add(tokenPar.build());
    return new Docket(DocumentationType.SWAGGER_2)
            .enable(isEnable)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("project.api.auth"))
            .paths(PathSelectors.any())
            .build().groupName("需要token验证").globalOperationParameters(pars).ignoredParameterTypes(HttpServletResponse.class, HttpServletRequest.class);
}

@Bean(value = "publicApi")
public Docket publicApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .enable(isEnable)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("project.api.pub"))
            .paths(PathSelectors.any())
            .build().groupName("无需token验证").ignoredParameterTypes(HttpServletResponse.class, HttpServletRequest.class);
}
0
白菜粉条炖猪蹄儿
已解决,使用分组功能。
白菜粉条炖猪蹄儿
回复 @杜晓洋 : 在swagger配置中写两个bean,我把代码贴在下面。
杜晓洋
杜晓洋
请问一下 怎么分组的?
0
迷人辰

为什么我的两个只可以运行其中的一个了?

 

白菜粉条炖猪蹄儿
哪里配错了?
返回顶部
顶部