Java 招摇过市API操作排序
如何按字母顺序对操作排序,例如删除,获取,发布,放置 我读过这篇文章,但它是HTML的,但在我的例子中,我已经将Swagger集成到SpringBoot中,所以我需要在创建摘要时对它进行排序Java 招摇过市API操作排序,java,spring-boot,swagger,springfox,Java,Spring Boot,Swagger,Springfox,如何按字母顺序对操作排序,例如删除,获取,发布,放置 我读过这篇文章,但它是HTML的,但在我的例子中,我已经将Swagger集成到SpringBoot中,所以我需要在创建摘要时对它进行排序 然后我注意到Docket中的这个方法operationOrdering(),但我仍然无法让它工作。我使用的是Springfox 2.8.0版,下面的代码片段适用于我的文档化API: @Bean UiConfiguration uiConfig() { return UiConfigurationB
然后我注意到Docket中的这个方法
operationOrdering()
,但我仍然无法让它工作。我使用的是Springfox 2.8.0版,下面的代码片段适用于我的文档化API:
@Bean
UiConfiguration uiConfig() {
return UiConfigurationBuilder
.builder()
.operationsSorter(OperationsSorter.METHOD)
...
.build();
}
有两个可能的值:
-按路径的字母顺序对API端点进行排序OperationsSorter.ALPHA
-按方法对API端点按字母顺序排序OperationsSorter.METHOD
操作分拣机。方法
是您需要的
使用
operationOrdering()
的替代方法:
@Bean
公开摘要api(){
返回新摘要(DocumentationType.SWAGGER_2)
.选择()
.api(RequestHandlerSelectors.any())
.path(路径选择器.any())
.build()
...
.操作订购(新订购(){
@凌驾
公共整数比较(操作左、操作右){
返回left.getMethod().name().compareTo(right.getMethod().name());
}
})
}
但是,这不起作用,因为Springfox中的一个bug似乎仍然处于活动状态()
这对我有用。我将Spring Boot 2.2.0.M6、Swagger UI 2.9.2与Spring Boot 2.4和OpenAPI一起使用应用程序中的以下属性。属性可能会引起兴趣:
- springdoc.swagger用户界面。标记器=alpha
- springdoc.swagger用户界面。操作分拣机=alpha
OperationSorter
还是其他方法?两者都不起作用,它会按url对所有操作进行排序。@DanielHári我在我的项目中使用Springfox 2.9.2版,OperationSorter
方法对我有效。ALPHA
和方法
。无法复制。这是我的配置不起作用:哇。谢谢这对我有用。
@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());
}
})
}
@Bean
public UiConfiguration uiConfig() {
return UiConfigurationBuilder
.builder()
.operationsSorter(OperationsSorter.METHOD)
.build();
}