我们可以在 Springdoc 中用 redoc 替换 swagger-ui

Posted

技术标签:

【中文标题】我们可以在 Springdoc 中用 redoc 替换 swagger-ui【英文标题】:Can we replace swagger-ui with redoc in Springdoc 【发布时间】:2020-08-04 09:20:38 【问题描述】:

我正在尝试用 Springdoc 替换手动维护的 swagger 文件。目前,我们使用ReDoc 来渲染文件,因为它们支持discriminator

有没有一种直接的方法可以用ReDoc 替换/取代嵌入的swagger-ui

【问题讨论】:

【参考方案1】:

在springdoc中可以跳过使用swagger UI包直接使用:

    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-webmvc-core</artifactId>
    </dependency>

相反。然后,您可以在 &lt;redoc /&gt; 组件中指向使用 springdoc 生成的 swagger 模式的位置(默认为 /v3/api-docs)。其余的取决于您托管 Redoc 的方式。在我们的例子中,我们只是在我们的服务/应用程序中添加了一个控制器,该控制器服务于 Redoc 文档页面 (https://github.com/Redocly/redoc#tldr) 中描述的基本 html

【讨论】:

【参考方案2】:

你可以禁用默认的 swagger-ui

springdoc.swagger-ui.enabled=false

请参阅https://springdoc.org/ 上的“禁用 swagger-ui”部分

之后,您需要做的就是将 ReDoc 放在您的服务器上,并让它指向通常位于 /context-path/v3/api-docs 的 OpenAPI 描述 请参阅https://github.com/Redocly/redoc的“部署”部分

【讨论】:

以上是关于我们可以在 Springdoc 中用 redoc 替换 swagger-ui的主要内容,如果未能解决你的问题,请参考以下文章

html Redoc API文档部署代码

springdoc-openapi swagger-ui 中的 CSRF 支持

Springfox与SpringDoc——swagger如何选择(SpringDoc入门)

神器 SpringDoc 横空出世!最适合 SpringBoot 的API文档工具来了

GraalVM Native Image 在 Springdoc 依赖上失败

在 SpringDoc OpenAPi 中未禁用 petstore URL