如何编写自定义排序器,以在UI中按名称对springdoc swagger标签进行排序?

时间:2020-03-23 08:28:01

标签: springdoc

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

我了解“ springdoc.swagger-ui.tagsSorter”配置,并且可以使用自定义排序功能。但是我找不到该函数的外观示例。

我尝试了以下似乎无效的方法:

springdoc.swagger-ui.tagsSorter =(a,b)=> a.get(“名称”).localeCompare(b.get(“名称”))

1 个答案:

答案 0 :(得分:1)

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

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

@Bean
public OpenApiCustomiser sortTagsAlphabetically() {
    return openApi -> openApi.setTags(openApi.getTags()
            .stream()
            .sorted(Comparator.comparing(tag -> StringUtils.stripAccents(tag.getName())))
            .collect(Collectors.toList()));
}