如何按字母顺序按方法对操作进行排序,例如删除,获取,发布, PUT 。
我已经阅读过这篇文章,但它是用HTML格式的,但就我而言,我已将Swagger集成到Spring Boot中,因此我需要在创建Docket时对其进行排序。
Sort API methods in Swagger UI
然后我在Docket中注意到了这个方法operationOrdering()
,但我仍然无法使它工作。
答案 0 :(得分:4)
我正在使用Springfox 2.8.0版,以下代码段适用于我记录的API:
@Bean
UiConfiguration uiConfig() {
return UiConfigurationBuilder
.builder()
.operationsSorter(OperationsSorter.METHOD)
...
.build();
}
有2个可能的值:
OperationsSorter.ALPHA
-按路径 OperationsSorter.METHOD
-通过方法 OperationsSorter.METHOD
是您要寻找的。 p>
替代,使用operationOrdering()
:
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
...
.operationOrdering(new Ordering<Operation>() {
@Override
public int compare(Operation left, Operation right) {
return left.getMethod().name().compareTo(right.getMethod().name());
}
})
}
但是,由于Springfox中的一个错误似乎仍处于活动状态(Operation ordering is not working),因此无法正常工作。
答案 1 :(得分:1)
@Bean
public UiConfiguration uiConfig() {
return UiConfigurationBuilder
.builder()
.operationsSorter(OperationsSorter.METHOD)
.build();
}
这对我有用。我正在使用Spring Boot 2.2.0.M6,Swagger UI 2.9.2
答案 2 :(得分:1)
对于 Spring Boot 2.4 和 OpenAPI,application.properties 中的以下属性可能会引起关注: