将 Swagger JSON 转换为 RAML/YAML
Posted
技术标签:
【中文标题】将 Swagger JSON 转换为 RAML/YAML【英文标题】:Convert Swagger JSON to RAML/YAML 【发布时间】:2015-12-20 05:15:50 【问题描述】:如何 并进行验证?我不是在寻找一种程序化的方式,只是一种一次性的转换。
【问题讨论】:
这个也是github.com/essuraj/swagger-toolbox - swagger-toolbox.firebaseapp.com 【参考方案1】:其实很简单
swagger editor 的 Web 版本提供了导入现有 swagger 文件 (JSON/YAML) 和下载当前显示的配置文件的灵活性。所以只需将这两者结合起来。
注意:存在将 JSON 转换为 YAML,但没有将 JSON 转换为 RAML
-
首先在http://editor.swagger.io/#/ 处导入您的 swagger JSON (文件 > 导入文件)
看到配置后,只需下载相应的 YAML 版本(文件 > 下载 YAML)。
您刚刚上传的 JSON 的 YAML 版本将被下载。
【讨论】:
【参考方案2】:要在各种格式(例如 Swagger/OpenAPI、RAML、Postman 等)之间转换 API 规范,您可以使用以下免费和开源工具:
https://github.com/lucybot/api-spec-converter https://github.com/stoplightio/api-spec-converter【讨论】:
【参考方案3】:转化
如果您希望将任何版本的 Swagger 转换为 RAML 0.8,那么 APITransformer.com 可以为您完成。我们几乎完成了 RAML 1.0 导出。一周后会发布。
验证
转换后的描述来自 APIMatic 用于在生成 SDK/客户端库之前验证 API 描述的同一代码生成引擎。因此,默认情况下将验证转换后的 RAML。
还可以通过APIMatic's CLI 或APIMatic's API 验证各种格式的API 描述
【讨论】:
【参考方案4】:虽然我希望有一个命令行工具,但这家公司似乎做了一个转换器:
https://apitransformer.com/
【讨论】:
还有一个用于转换的命令行工具。它位于github.com/apimatic/apimatic-cli 链接apimatic.io/transformer 确实有效,并且用他们的apimatic-cli 做同样的事情似乎很棘手。你有一个开箱即用的指南吗?【参考方案5】:步骤如下:
-
将 Swagger JSON 导出到驱动器上的文件中。此 JSON 应通过以下 URI 发布到您的服务器上:/swagger/docs/v1
转至http://editor.swagger.io/#/
在左上角,选择 File-> Import File... 指向您在步骤 #1 中导出的本地 Swagger JSON 文件以在 Swagger 编辑器中打开
从菜单中选择 Generate Client -> Swagger YAML 选项
它将生成您可以在http://www.yamllint.com/ 站点验证的 YAML
【讨论】:
我不认为这就是问题所在,这会生成 Swagger YAML,而不是 RAML YAML。 这不能回答问题,但可以使用几乎相同的方式找到实际的解决方案 - 在下面找到我的答案。以上是关于将 Swagger JSON 转换为 RAML/YAML的主要内容,如果未能解决你的问题,请参考以下文章
Swagger:将 Java LocalDateTime 转换为 Joda LocalDateTime