我们可以在 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>
相反。然后,您可以在 <redoc />
组件中指向使用 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的主要内容,如果未能解决你的问题,请参考以下文章
springdoc-openapi swagger-ui 中的 CSRF 支持
Springfox与SpringDoc——swagger如何选择(SpringDoc入门)
神器 SpringDoc 横空出世!最适合 SpringBoot 的API文档工具来了