【问题标题】:How to define an array of objects in OpenAPI 2.0?如何在 OpenAPI 2.0 中定义对象数组?
【发布时间】:2020-03-02 14:31:15
【问题描述】:

我是使用 swaggerhub 的新手。我需要定义一个API,并且请求需要看起来像这样的json:

{
  "acountNumber": "1234564545444854",
  "warningTypes":[
    {
      "warningCode": 122,
      "warningMessage": "string message"
    }    
   ]  
}

此刻我有这个:

definitions:
  WarningCodes:
    type: object
    required:
    - accountNumber
    - warningCodes
    - messages
    properties:
      accountNumber:
        type: string
        example: 1234567890
      warningTypes:
        type: array
        items:
          type: object
          properties:
            warningCode:
            type: integer
            warningMessage:
            type: string

不以这种方式工作。

【问题讨论】:

  • 这个 YAML 到底是怎么不工作的?您期望什么结果,实际结果是什么?

标签: swagger-2.0 openapi


【解决方案1】:

似乎它需要一个新实体,像这样

definitions:
  WarningCodes:
    type: object
    required:
    - accountNumber
    - warningCodes
    - messages
    properties:
      accountNumber:
        type: string
        example: '1234567890'

      warningTypes:
        type: array
        items:
          $ref: '#/definitions/WarningType'

  WarningType:
    type: object
    properties:
      warningCode:
        type: integer
        example: 122
      warningMessage:
        type: string
        minLength: 0
        maxLength: 256
        example: test1,test

【讨论】:

  • 非常成功,但我有一条错误消息:不应该有其他属性 additionalProperty: components
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
相关资源
最近更新 更多