【问题标题】:Specifying multiple types for the same field in OpenAPI specs在 OpenAPI 规范中为同一字段指定多种类型
【发布时间】:2022-01-17 16:54:23
【问题描述】:

我希望在 OpenAPI 中表示以下 JSON 对象:

 {
   "name": "filter name",
   "type": "type of filter",
   "depends_on": "parent filter",

    // the value can be :
   "values": ["value 1", "value 2", ...]   

   // or
   "value": {
      "parent 1" : ["value 1", "value 2", ...],
      "parent 2": [ "value 3", "value 4", ...],
      ..... 
    }
 }

我尝试使用以下规范

Filters:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        depends_on:
          type: string
        values:
          type: object
          additionalProperties:
            oneOf:
              - integer
              - string

但它没有按预期工作。

谁能帮我解决这个问题

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: swagger openapi


【解决方案1】:

使用oneOf 解决: 我找到了解决方案here

    Filters:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        depends_on:
          type: string
        values:
          oneOf:
            - type: object
              properties:
                parent value:
                  type: array
                  items:
                    type: string
                    example: "value 1"
            - type: array
              items:
                type: string

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-04
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    相关资源
    最近更新 更多