【发布时间】:2020-10-28 17:48:20
【问题描述】:
使用GroupedOpenApi 定义 API 组时,添加到每个端点的通用参数集不会出现在参数列表中。
以下是各自的代码
@Bean
public GroupedOpenApi v1Apis() {
return GroupedOpenApi.builder().group("v1 APIs")
// hide all v2 APIs
.pathsToExclude("/api/v2/**", "/v2/**")
// show all v1 APIs
.pathsToMatch("/api/v1/**", "/v1/**")
.build();
}
以及将标准头添加到所有端点的类
@Component
public class GlobalHeaderAdder implements OperationCustomizer {
@Override
public Operation customize(Operation operation, HandlerMethod handlerMethod) {
operation.addParametersItem(new Parameter().$ref("#/components/parameters/ClientID"));
operation.addSecurityItem(new SecurityRequirement().addList("Authorization"));
List<Parameter> parameterList = operation.getParameters();
if (parameterList!=null && !parameterList.isEmpty()) {
Collections.rotate(parameterList, 1);
}
return operation;
}
}
实际输出
预期输出
要重现该问题,请克隆 https://github.com/debargharoy/springdoc-test
解决方法
在应用程序属性文件中添加要包含/排除的路径可以解决错误。但是代码级别的东西将不胜感激。
【问题讨论】:
标签: spring-boot springdoc springdoc-openapi-ui