问题描述
我尝试将 springfox 的 swagger ui 配置从 2.9.2 版迁移到 3.0.0 版。
在版本 2.9.2 中,我可以做这样的事情来指定我的全局标头允许哪些值:
@Bean
public Docket swaggerDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
[...]
.build()
.groupName("Some API")
.directModelSubstitute(LocalDate.class,java.sql.Date.class)
.useDefaultResponseMessages(false)
.globalOperationParameters(
Arrays.asList(new ParameterBuilder()
.name("Environment")
.modelRef(new ModelRef("string"))
.allowableValues(new AllowableListValues(List.of("A","B","C"),"string"))
.parameterType("header")
.required(true)
.build()));
}
但在版本 3.0.0 "globalOperationParameters" 被标记为已弃用。 我尝试使用新的 "globalRequestParameters" 而不是获得与旧版本相同的结果:
@Bean
public Docket swaggerDocket(TypeResolver typeResolver) {
return new Docket(DocumentationType.SWAGGER_2)
.select()
[...]
.build()
.groupName("Some API")
.directModelSubstitute(LocalDate.class,java.sql.Date.class)
.useDefaultResponseMessages(false)
.globalRequestParameters(List.of(createRequestParameter("Environment",true)));
}
private RequestParameter createRequestParameter(String headerName,boolean required) {
return new RequestParameterBuilder()
.name(headerName)
.required(required)
.query(q -> q.model(modelSpecificationBuilder -> modelSpecificationBuilder.scalarModel(ScalarType.STRING)))
.in(ParameterType.HEADER)
.build();
}
有没有办法添加允许值列表?
解决方法
在弄乱了 intelliJ 自动完成功能后弄清楚了这一点。在查询中,使用模型,然后使用 enumerationFacet 方法。我会保持快速简便:
在您的 Azure Active Directory Graph
中使用代码:
createRequestParameter
我会包含下拉菜单的图片,但我没有发布它们的声誉。