如何在Swagger-ui SpringDoc open ui上对@PathVariable枚举值进行排序

omqzjyyz  于 2023-06-05  发布在  Spring
关注(0)|答案(1)|浏览(249)

我在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?
我不知道这种排序是否可能。

b1zrtrql

b1zrtrql1#

Swagger UI没有对枚举进行排序的选项。
一个可能的解决方案是fork Swagger UI存储库,修改负责显示枚举的代码(至少在这里和这里,可能在其他地方),重新构建它,并在应用中使用自定义fork。

相关问题