将 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 JSON对象转换为Java类对象

Swagger.json 到 xslt 转换器

Swagger:将 Java LocalDateTime 转换为 Joda LocalDateTime

无法将 swagger JSON 或 YAML 导入 Postman

从命令行将 Swagger YAML 文件转换为 JSON

如何使用 YamlDotNet 将 JSON 转换为 YAML