Как мне написать собственный сортировщик для сортировки тегов swagger springdo c по имени в пользовательском интерфейсе? - PullRequest
1 голос
/ 23 марта 2020

Я использую springdo c -openapi с последней версией (1.3.0). Теперь я хотел бы отсортировать свои теги в пользовательском интерфейсе по свойству "name" .

Я знаю о конфигурации "springdo c .swagger-ui.tagsSorter" и которую я могу использовать пользовательская функция сортировки. Но я не могу найти примеры, как должна выглядеть функция.

Я пробовал следующее, которое, похоже, не работает:

springdo c .swagger-ui.tagsSorter = (a, b) => a.get ("name"). localeCompare (b.get ( "имя"))

1 Ответ

1 голос
/ 01 мая 2020

По умолчанию вы можете сортировать теги по алфавиту:

Вы может управлять порядком тегов с помощью OpenApiCustomiser и определять свой собственный компаратор:

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