如何在 Swagger-ui SpringDoc open ui 上对模式进行排序

SSK*_*SSK 5 swagger-ui springdoc-ui springdoc-openapi-ui

我想对Schemas为我的实体类生成的 DTO 类进行排序Springdoc ui
我能够对文件中的tagsoperations进行以下配置,yml但我的模式不是按排序顺序排列的。

springdoc:
  swagger-ui:
    disable-swagger-default-url: true
    tags-sorter: alpha
    operations-sorter: alpha
    doc-expansion: none
Run Code Online (Sandbox Code Playgroud)

我怎样才能对我的模式进行排序。
谢谢。

bri*_*bro 12

您可以使用 OpenApiCustomiser 完全控制架构顺序。这是一个示例代码,您可以根据您想要的排序逻辑使用比较器进行自定义:

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

Run Code Online (Sandbox Code Playgroud)

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

  • [属性](https://springdoc.org/properties.html) 是 `springdoc: writer-with-order-by-keys: true`。 (6认同)