Swagger如何编写一个数组格式的模型

时间:2017-09-12 01:34:02

标签: swagger swagger-2.0 swagger-editor

json喜欢这个

[{xx:xx,xx1:xx1},{},...]

这里有一个get请求的模型,它直接返回一个数组,而不是一个正式的json,如何编写模型?

/hsseventwebapi/v1/walking/events/{eventcd}/livecomments:
get:
  operationId: イベント実況を返す
  summary: 個人に関連するランキングを返す
  description: "イベント実況を返す(取得したい実況一覧の開始日時を指定取得できる一覧は最大30件"
  tags:
    - Walking
  parameters:
    - name: eventcd
      in: path
      description: eventcd
      required: true
      type: integer
  responses:
    200:
      description: OK
      schema:
        $ref: '#/definitions/LiveListModel'

这里的模型:

LiveListModel:
type: array
description: live list
items:
  type: object
  description: live item
  properties:
    eventNo:
      type: string
      description: eventNo
    liveCommentYmdhms:
      type: string
      description: liveCommentYmdhms
    liveComment:
      type: string
      description: liveComment
    liveCommentSeq:
      type: string
      description: liveCommentSeq
    targetAppUserNo:
      type: string
      description: targetAppUserNo
  required:
      - eventNo
      - liveCommentYmdhms
      - liveComment
      - liveCommentSeq
      - targetAppUserNo

这是ui two layer nested

有两个liveListModel,我无法解析它。

2 个答案:

答案 0 :(得分:0)

您的规格是正确的。


Swagger Editor和UI渲染数组模型如下:

ArrayModelName   [ ItemModelName  <item schema> ]

或者如果项目是对象:

ArrayModelName   [ ItemModelName {
  properties
}]

图像上的重复模型名称是Swagger Editor / UI中的显示错误。它本应在本周晚些时候(9月15日至16日)的即将发布的版本中修复。

在您的示例中,项目模型是内联的,没有名称/ title,因此它应该呈现为无名。

答案 1 :(得分:0)

    /hsseventwebapi/v1/walking/events/{eventcd}/livecomments:
get:
  operationId: イベント実況を返す
  summary: 個人に関連するランキングを返す
  description: "イベント実況を返す(取得したい実況一覧の開始日時を指定取得できる一覧は最大30件"
  tags:
    - Walking
  parameters:
    - name: eventcd
      in: path
      description: eventcd
      required: true
      type: integer
  responses:
    200:
      description: OK
      schema:
        type: array
        items:
          $ref: '#/definitions/LiveListItemModel'





 LiveListItemModel:
    type: object
    description: live item
    properties:
      eventNo:
        type: string
        description: eventNo
      liveCommentYmdhms:
        type: string
        description: liveCommentYmdhms
      liveComment:
        type: string
        description: liveComment
      liveCommentSeq:
        type: string
        description: liveCommentSeq
      targetAppUserNo:
         type: string
         description: targetAppUserNo
      required:
          - eventNo
          - liveCommentYmdhms
          - liveComment
          - liveCommentSeq
          - targetAppUserNo