【问题标题】:Display OpenAPI 3.0 YAML file in Spring Boot (Maven)在 Spring Boot (Maven) 中显示 OpenAPI 3.0 YAML 文件
【发布时间】:2019-01-18 08:53:59
【问题描述】:

我觉得我错过了一些简单的东西,但我的搜索都没有得到我希望/寻找的答案。

问题陈述
我正在编写一个 Spring Boot 应用程序,它公开了一堆 RESTful API。由于各种原因,我有一个包含 API 文档(用 OpenAPI 3.0 编写)的 YAML 文件。我正在寻找一种简单(毕竟是 Spring Boot)的方式来显示该文档。

我做了什么
花了超过 3 个小时阅读各种帖子,观看谈论 Springfox 的 swagger 和 swagger-ui 的 youtube 视频(以及其他内容)
这会“即时”生成文档,我想显示 YAML 文件

我看过一些讨论下载 swagger-ui github 存储库、解压缩并修改 index.html 以指向我的 YAML 文件而不是它的默认值的帖子。
虽然这是可行的,它需要我手动下载、更新文件并重新打包它们(不是一个大问题,但似乎比我预期的要多)

正在寻找解决方案
理想情况下,我希望有一个 Maven 插件,我可以设置它并将配置选项传递给它,告诉它 YAML 文件的位置,它会简单地显示它

提前致谢

【问题讨论】:

    标签: java spring-boot maven-3 swagger-ui openapi


    【解决方案1】:

    您可以将文件作为静态资源提供,方法是将其添加到 Spring Boot 默认静态资源位置之一(src/main/resources/META-INF/resources、src/main/resources/resources、src/ main/resources/static、src/main/resources/public)或通过覆盖默认位置并添加您的 open-api yaml 文件所在的自定义路径(设置 spring.resources.static-locations 属性)。

    【讨论】:

      【解决方案2】:

      您可以使用 Maven(或您使用的任何构建工具)将文件复制到标准位置之一,而不是更改静态资源的位置。我正在使用 OpenAPI Generator 从规范生成源代码,并使用它来生成规范的 HTML 视图。

      我也在构建期间将该文件复制到静态资源位置。不过,我还没有找到让 Swagger UI 正常工作的简单方法。 HTML 视图是一种妥协。

      【讨论】:

        猜你喜欢
        • 2021-11-04
        • 2019-09-22
        • 2022-12-13
        • 2019-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-05
        相关资源
        最近更新 更多