我在Controller中有一个GET方法,它将Enum作为参数之一(@PathVariable)。此Enum有几个值,当它由Swagger/OpenApi生成时,在测试/尝试端点时的Swagger UI中,显示来自Enum的可能参数值列表。但是,它是按照在枚举中键入值的顺序显示的。我想按字母顺序排列列表,以便在Swagger UI中显示。我不能简单地排序枚举,因为它是来自外部库。
@GetMapping("/{id}/status/{enumStatus}/validate")
public ResponseEntity<RootElement> getMethod(@PathVariable("id") final String id, @PathVariable("status") final StatusEnum enumStatus) {
return myRestService.validate(id, enumStatus);
}
private enum StatusEnum {
B_STATUS, A_STATUS, NO_STATUS, CC_STATUS
}
我希望有类似的东西,但我无法获得特定的PathVariable:How do I write a custom sorter to sort my springdoc swagger tags by name in the UI?
我不知道这种排序是否可能。
1条答案
按热度按时间b1zrtrql1#
Swagger UI没有对枚举进行排序的选项。
一个可能的解决方案是fork Swagger UI存储库,修改负责显示枚举的代码(至少在这里和这里,可能在其他地方),重新构建它,并在应用中使用自定义fork。