我怎样才能在摇摇晃晃地描述这个复杂的json模型

时间:2017-02-28 16:53:56

标签: json rest swagger swagger-ui swagger-editor

我正试图用swagger来描述我添加到某些代码中的rest api。

这是我的简单回报之一。

看了几个很好的例子,但没有任何运气试图理解如何将它应用于我的问题。

不同的API调用将包含不同的内容。

如果我知道这个应该是什么样的,我应该能够找出其他人。

有谁能告诉我这个描述应该是什么样的?

{    
    "result" : {
      "content" : {
         "UNTAINTED_HOST" : "www.google.com",
         "DATA" : [
            "216.58.217.36"
         ],
         "IP_or_NAME" : "NAME",
         "RC" : "true",
         "FAULT_MSG" : "No Faults"
      },
      "detail" : "Sucessfully terminated your request",
      "short" : "Done"    } 
}

或者更简单的一个:

{
   "result" : {
      "short" : "Done",
      "detail" : "Sucessfully terminated your request",
      "content" : "Running"
   }
}

认为它看起来像 -

{
  "definitions": {
    "result": {
      "type": "object",
      "required": [
        "short", "detail", "content"
      ],
      "properties": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
                    "content": {
                      "type": "string"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "short": {
                      "type": "string"
                    },
          }
        }
      }
    }
  } 
}

在昂首阔步的编辑中试过这个...似乎我错过了什么。

definitions: 
  results: 
    type: object
    required: [ result ]
    properties: 
      result: 
        type: array
        items: 
          $ref: #/definitions/result

  result: 
    type: object
    properties: 
      short: 
        type: string
      detail: 
        type: string
      content: 
        type: string

这似乎有效:

  results: 
    type: object
    required: [ result ]
    properties: 
      result: 
        type: array
        items: 
          type: object
          required: [ short, detail, content ]
          properties: 
            short: 
              type: string
            detail: 
              type: string
            content: 
              type: string

由于

1 个答案:

答案 0 :(得分:0)

这对我有用:

definitions:
  result: 
    type: object
    properties: 
      short: 
        type: string
      detail: 
        type: string
      content: 
        type: string

  results: 
    type: object
    required: [result]
    properties: 
      result: 
        type: array
        items: 
          $ref: '#/definitions/result'

请注意$ref值周围的单引号。我在原帖中没有看到这些内容。但是,您没有提到您所看到的错误。如果这个答案没有帮助,请更新您的问题并提供更多详细信息。