在Spring Boot(Maven)中显示OpenAPI 3.0 YAML文件

问题描述 投票:2回答:2

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

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

我做了什么 花了3个多小时阅读各种帖子,观看youtube vids,谈论Springfox的招摇和swagger-ui(等等) 这会“动态”生成文档,我想显示YAML文件

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

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

提前致谢

java spring-boot maven-3 swagger-ui openapi
2个回答
1
投票

您可以将文件作为静态资源提供,方法是将其添加到其中一个spring引导默认静态资源位置(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属性)。


1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.