将 Swagger JSON 转换为 RAML/YAML

问题描述 投票:0回答:6

如何将 Swagger JSON 转换为 RAML/YAML 并验证它?我不是在寻找一种编程方式,只是一次性转换。

json api yaml swagger raml
6个回答
53
投票

步骤如下:

  1. 将 Swagger JSON 导出到驱动器上的文件中。此 JSON 应发布在您的服务器上的以下 URI:/swagger/docs/v1
  2. 前往 http://editor.swagger.io/#/
  3. 在左上角,选择“文件”->“导入文件...”指向您在步骤 #1 中导出的本地 Swagger JSON 文件,以在 Swagger 编辑器中打开
  4. 从菜单中选择“生成客户端”->“Swagger YAML”选项
  5. 它将生成 YAML,您可以在 http://www.yamllint.com/ 站点
  6. 进行验证

8
投票

其实很简单

Web 版本的 swagger 编辑器 可以灵活地导入现有的 swagger 文件(JSON/YAML)并下载当前显示的配置文件。所以只需将这两者结合起来即可。

注意:存在将 JSON 转换为 YAML 的功能,但不存在将 JSON 转换为 RAML 的功能

  1. 首先在 http://editor.swagger.io/#/ (文件 > 导入文件)
  2. 导入 swagger JSON
  3. 看到配置后,只需下载相应的 YAML 版本(文件 > 下载 YAML)

将下载您刚刚上传的 JSON 的 YAML 版本。


6
投票

要在各种格式之间转换 API 规范(例如 Swagger/OpenAPI、RAML、Postman 等),您可以使用以下免费开源工具:


4
投票

转换

如果您希望从任何版本的 Swagger 转换为 RAML 0.8,那么 APITransformer.com 可以为您做到。我们即将完成 RAML 1.0 导出。一周后就会发布。

验证

转换后的描述来自 APIMatic 在生成 SDK/客户端库之前验证 API 描述的相同代码生成引擎。因此,转换后的RAML将默认被验证。

各种格式的 API 描述也可以通过 APIMatic 的 CLIAPIMatic 的 API

进行验证

0
投票

虽然我希望有一个命令行工具,但这家公司似乎已经制作了一个转换器:

https://apitransformer.com/


0
投票

如果您有相同的 OpenAPI 规范(例如相同版本 3.0.1)的 json 格式,并且您想将其转换为 YAML 格式,您只需按以下方式使用

yq

yq -p json -o yaml file.json > converted_file.yaml

反之亦然:

yq -p yaml -o json file.yaml > converted_file.json

-p:
输入格式类型

-o:
输出格式类型

请注意,JSON 是 YAML 的子集

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