【问题标题】:How to generate a Swagger #definition from sample JSON如何从示例 JSON 生成 Swagger #definition
【发布时间】:2018-08-22 22:43:27
【问题描述】:

以宠物店示例中的以下#definition 为例。给定 #definition 部分,可以生成 JSON 结构

例如

对于一个庞大的复杂 JSON 文件,有什么可以做相反的事情吗?

鉴于以下 JSON 结构,我可以获取生成的 swagger 文件的#defintion 部分以节省一些输入

{
  "variable": "sample",
  "object1": {
    "obj-field1": "field 1 of object",
    "obj-field2": "field 2 of object",
    "anArray": [
      "Value 1",
      {
        "anArrayObj1": "obj1fieldinarray",
        "anArrayObj2": "obj2fieldinarray"
      }
    ]
  }
}

【问题讨论】:

标签: json swagger


【解决方案1】:

您可以使用此 JSON 到 OpenAPI 架构转换器:
https://roger13.github.io/SwagDefGen/

(GitHub project)

我个人没有使用过,所以我不确定它有多好。


由于 OpenAPI 使用 JSON Schema 的子集,您也可以使用 JSON Schema generators 之一,但是您可能需要手动调整生成的定义以使其与 OpenAPI 兼容。

【讨论】:

  • 这是救命稻草!
【解决方案2】:

1 - 在http://www.mocky.io 中粘贴回复并获取回复的链接

2 - 转到 https://inspector.swagger.io/ 并调用您的示例响应

3 - 从“历史记录”中选择调用并点击“创建 API 定义”

4 - 大摇大摆的定义将在 https://app.swaggerhub.com/ 上提供

【讨论】:

  • 这将创建一个基本的 Swagger/OpenAPI 文档,但它不包括 OP 特别想要的 definitions 部分
【解决方案3】:

这对我有用:

从示例 JSON 生成 Swagger REST 客户端代码(和 POJO)

  1. 转到 apistudio.io

    • 插入 -> 新模型。
    • 剪切并粘贴您的 JSON。
    • [将生成 Swagger YML 文件]
    • 下载 -> YAML。
  2. 转到 editor.swagger.io

    • CutNpaste 从上一步保存的 YML。
    • Generate Client -> jaxrs-cxf-client(还有许多其他选项)。

【讨论】:

  • apistudio.io 不再可用
猜你喜欢
  • 2017-05-15
  • 2018-11-20
  • 2014-07-29
  • 2020-11-21
  • 2019-01-11
  • 2014-03-20
  • 1970-01-01
  • 2015-12-02
  • 2019-05-06
相关资源
最近更新 更多