我正在开发一个具有以下依赖项的 Spring Boot 3.1.4 (java 17) 项目:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.2.0</version>
</dependency>
我通过配置文件创建 OpenAPI 定义和 5 个 GroupedOpenApi beans。我还使用一些注释来通过操作和模式来丰富我的 OpenAPI。
我使用 Redoc(静态 html 模板)和 Swagger UI(来自上面的依赖项)。 Redoc 供公共/外部使用,Swagger UI 供内部使用。
到目前为止一切顺利,特别是对于 Redoc,因为我每个组都有一个单独的 html 模板。
我想要的是仅渲染 Swagger UI 下拉列表中 5 个 GroupedOpenApi 定义的 bean 中的 3 个。我无法删除或设置其他 2 个条件,因为它们是从 Redoc 使用的。
我尝试了以下方法:
springdoc.api-docs.groups.enabled
属性禁用所有 GroupedOpenApi,但经过一番调查后该属性不再存在 -> 提出了 文档问题springdoc.swagger-ui.urls[]
但它会附加而不是覆盖urls
中的 AbstractSwaggerUiConfigProperties
,但它仍然呈现所有 5 个分组 OpenApi提前致谢
我通过创建一个简单的
swagger-config.json
解决了这个问题,其中仅包含我想要的 swagger-ui.urls[]
并在 application.yml
属性 springdoc.swagger-ui.configUrl
中配置以指向我的文件