如何对 Swagger 上的模式进行排序-ui SpringDoc 打开 ui

How to sort the Schemas on Swagger-ui SpringDoc open ui

我想对为我的实体 类、DTO 类 在 Springdoc UI 中生成的 Schemas 进行排序。
我可以使用 yml 文件中的以下配置对 tagsoperations 进行排序,但我的模式未按排序顺序排列。

springdoc:
  swagger-ui:
    disable-swagger-default-url: true
    tags-sorter: alpha
    operations-sorter: alpha
    doc-expansion: none

我如何对我的架构进行排序。
谢谢。

您可以使用 OpenApiCustomiser 完全控制模式顺序。 这是一个示例代码,您可以使用 Comparators 自定义,具体取决于您想要的排序逻辑:

@Bean
public OpenApiCustomiser sortSchemasAlphabetically() {
    return openApi -> {
        Map<String, Schema> schemas = openApi.getComponents().getSchemas();
        openApi.getComponents().setSchemas(new TreeMap<>(schemas));
    };
}

如果您对 swagger-ui 上的排序感兴趣,而不是服务器端,那么您可以在 swagger-ui 项目上记录功能请求。