How do I sort my operation by method alphabetically e.g. DELETE, GET, POST, PUT.
I have read from this post but it is in HTML but in my case, I have integrated Swagger into Spring Boot so I need to sort it when creating a Docket.
Sort API methods in Swagger UI
Then I noticed this method operationOrdering() in Docket, but I still cannot make it work.
@Bean
public UiConfiguration uiConfig() {
    return UiConfigurationBuilder
            .builder()
            .operationsSorter(OperationsSorter.METHOD)
            .build();
}
This works for me. I'm using Spring Boot 2.2.0.M6, Swagger UI 2.9.2
With Spring Boot 2.4 and OpenAPI the following properties in application.properties may be of interest:
I am using Springfox version 2.8.0 and following code snippet works for my documented API:
@Bean
UiConfiguration uiConfig() {
    return UiConfigurationBuilder
            .builder()
            .operationsSorter(OperationsSorter.METHOD)
            ...
            .build();
}
There are 2 possible values:
OperationsSorter.ALPHA - sorts API endpoints alphabetically by path
OperationsSorter.METHOD - sorts API endpoints alphabetically by method OperationsSorter.METHOD is what you are looking for.
Alternative by using 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());
            }
        })
}
However, this does not work because of a bug in Springfox which seems to be still active (Operation ordering is not working).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With