有看到网上文章说当header需要多个参数的时候,新建多个 ParameterBuilder,经过测试,重复使用一个ParameterBuilder会出现后面覆盖前面的情况。
我没有出现这种情况,以下是SwaggerConfig 的代码,以及效果图。
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Value("${swagger.enable:false}")
private boolean enable=false;
@Bean
public Docket createRestApi() {
//添加head参数配置start
ParameterBuilder tokenPar1 = new ParameterBuilder();
ParameterBuilder tokenPar2 = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
tokenPar1.name("token1")
.description("请求头1")
.modelRef(new ModelRef("string"))
.parameterType("header")
.required(true)
.build();
tokenPar2.name("token2")
.description("请求头2")
.modelRef(new ModelRef("string"))
.parameterType("header")
.required(false)
.build();
pars.add(tokenPar1.build());
pars.add(tokenPar2.build());
return new Docket(DocumentationType.SWAGGER_2)
.enable(ConfigProvider.getBoolean("swagger.enable",false))
.select()
.apis(RequestHandlerSelectors.basePackage("com.controller"))
.paths(PathSelectors.any())
.build()
.globalOperationParameters(pars);
}
}

刚开始遇到Could not render e, see the console的问题。
在配置文件中加swagger.enable=true,以及在SwaggerConfig 中加
@Value("${swagger.enable:false}")
private boolean enable=false;
版权声明:本文为aiguo94原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。