4

我正在使用最新版本(1.3.0)的springdoc-openapi。现在我想按“名称”属性对 UI 中的标签进行排序。

我知道“springdoc.swagger-ui.tagsSorter”配置,并且我可以使用自定义排序器功能。但我找不到函数应该是什么样子的例子。

我尝试了以下似乎不起作用的方法:

springdoc.swagger-ui.tagsSorter=(a, b) => a.get("name").localeCompare(b.get("name"))

4

2 回答 2

6

默认情况下,您可以按字母顺序对标签进行排序:

您可以使用 OpenApiCustomiser 控制标签顺序并定义您自己的比较器:

@Bean
public OpenApiCustomiser sortTagsAlphabetically() {
    return openApi -> openApi.setTags(openApi.getTags()
            .stream()
            .sorted(Comparator.comparing(tag -> StringUtils.stripAccents(tag.getName())))
            .collect(Collectors.toList()));
}
于 2020-05-01T11:28:50.620 回答
2

参考@brianbro的回答,如https://springdoc.org/faq.html#how-can-i-sort-endpoints-alphabetically所建议的那样

我添加了

@Tag(name="1. Admin endpoints")

@Tag(name = "2. Everyone's enpoints!")

和下面的应用程序.yml 的道具:

springdoc.swagger-ui.tagsSorter=alpha

并且可以看到它们根据我的招摇 UI 上的编号进行排序。

于 2021-10-06T07:59:36.667 回答