【问题标题】:Swagger 2.0 AnyofSwagger 2.0 任意
【发布时间】:2016-01-18 20:05:57
【问题描述】:

Swagger 2.0 版中的 anyof 等价物,请告诉我如何更新我的 json 文件,因为我想将我的文档从 swagger 1.0 升级到 2.0。

感谢您的帮助。

【问题讨论】:

    标签: swagger swagger-2.0


    【解决方案1】:

    我不认为有一个,感觉就像一个很大的缺点。 the Schema Object portion of the specification 中绝对没有提到它。他们列出了从 JSON Schema 中采用的元素,anyOf 不在其中:

    以下属性直接取自 JSON Schema 定义并遵循相同的规范:

    • $ref - 作为 JSON 参考
    • 格式(有关详细信息,请参阅数据类型格式)
    • 标题
    • 说明(GFM 语法可用于富文本表示)
    • 默认(与 JSON Schema 不同,该值必须符合为 Schema Object 定义的类型)
    • multipleOf
    • 最大
    • 独占最大值
    • 最低
    • 独家最低
    • 最大长度
    • 最小长度
    • 模式
    • 最大项目数
    • minItems
    • 独特的物品
    • 最大属性
    • minProperties
    • 需要
    • 枚举
    • 类型

    以下属性取自 JSON 架构定义,但它们的定义已根据 Swagger 规范进行了调整。它们的定义与 JSON Schema 的定义相同,只是在原始定义引用 JSON Schema 定义的地方,使用了 Schema Object 定义。

    • 项目
    • 全部
    • 属性
    • 其他属性

    我认为最接近的是 discriminator 字段,但这意味着您必须构建输出以适应 Swagger。

    【讨论】:

      【解决方案2】:

      OpenAPI Specification 3.0(2017 年 7 月 26 日发布)现在支持 anyOfoneOf

      【讨论】:

      • openapi 3.0 不是 swagger 2.0 的适当超集。切换可能会导致文档的其他部分无效。可能仍然值得,但并非无痛。
      • @Tom 有OpenAPI 2.0-to-3.0 converters 协助迁移。
      猜你喜欢
      • 1970-01-01
      • 2011-04-29
      • 2017-06-13
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      相关资源
      最近更新 更多