Swagger API操作排序

Jav*_*tar 7 java swagger spring-boot springfox

如何按字母顺序对方法进行排序,例如DELETEGETPOSTPUT

我已经阅读了这篇文章,但是它是HTML格式的,但就我而言,我将Swagger集成到了Spring Boot中,因此在创建Docket时需要对其进行排序。

在Swagger UI中对API方法进行排序

然后我operationOrdering()在Docket中注意到了这种方法,但是我仍然无法使它起作用。

mp3*_*415 10

对于Spring Boot 2.4OpenAPI,application.properties中的以下属性可能会令人感兴趣:

  • springdoc.swagger-ui。标签排序器=alpha
  • springdoc.swagger-ui。操作排序器=alpha


Vla*_*ier 5

我使用的是Springfox 2.8.0版,以下代码段适用于我记录的API:

@Bean
UiConfiguration uiConfig() {
    return UiConfigurationBuilder
            .builder()
            .operationsSorter(OperationsSorter.METHOD)

            ...

            .build();
}
Run Code Online (Sandbox Code Playgroud)

有两个可能的值:

  • OperationsSorter.ALPHA-通过路径按字母顺序对API端点进行排序
  • OperationsSorter.METHOD-通过方法按字母顺序对API端点进行排序

OperationsSorter.METHOD 是您要寻找的。


使用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());
            }
        })
}
Run Code Online (Sandbox Code Playgroud)

但是,由于Springfox中的一个错误似乎仍然处于活动状态(操作排序不起作用),因此无法正常工作