Swagger API Operations Ordering
Solution 1
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).
Solution 2
@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
Solution 3
With Spring Boot 2.4 and OpenAPI the following properties in application.properties may be of interest:
- springdoc.swagger-ui.tagsSorter=alpha
- springdoc.swagger-ui.operations-sorter=alpha
Related videos on Youtube
Javatar
Updated on March 15, 2021Comments
-
Javatar about 3 years
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. -
Vladas Maier about 5 years@DanielHári do you mean the
OperationsSorter
or the alternative? -
Daniel Hári about 5 yearsNeither of them works, it sorts all operations by url.
-
Vladas Maier about 5 years@DanielHári I am using Springfox version 2.9.2 in my project and the
OperationSorter
method works for me. BothALPHA
andMETHOD
. Cannot reproduce. -
Daniel Hári about 5 yearsHere is my config that not works: gist.github.com/haridaniel/0e8c9ae63ff8daac866c2b6ff53ccc2c