2

我尝试以 json 格式导入 swagger 文档。我得到了错误

字段 paths["/namespaces"].get.responses["401"] 使用 Swagger jsonReference。这是不支持的。删除此字段,或改为内联引用的 JSON,然后重新提交请求。

(我还附上了截图以防万一)。可能导致错误的代码片段如下:

"401": {
    "$ref": "#/responses/UnauthorizedRequest"
},
"500": {
    "$ref": "#/responses/ServerError"
}

这个内容有什么问题?感谢您能指出我如何解决问题。

谢谢 !

参考:截图 在此处输入图像描述

4

1 回答 1

1

这个错误看起来像一个限制/错误,但正如错误描述所暗示的,您可以内联定义来解决它。这是一个在 Swagger 文档中内联引用的示例。

以下 Swagger 文档有一个$ref

"responses": {
    "200": {
        "description": "Task retrieved",
        "schema": {
            "$ref": "#/definitions/Task"
        }
    },
    "404": {
        "description": "Task not found"
    }
}

...

"definitions": {
    "Task": {
        "type": "object",
        "required": [
            "deadline",
            "description",
            "status"
        ],
        "properties": {
            "description": {
                "type": "string",
                "example": "Make an app for Demo"
            },
            "status": {
                "type": "string",
                "example": "Created"
            },
            "deadline": {
                "type": "string",
                "format": "date",
                "example": "01/15/16"
            }
        }
    }

内联$ref定义后,Swagger 文档将如下所示:

"responses": {
    "200": {
        "description": "Task retrieved",
        "schema": {
          "type": "object",
          "required": [
              "deadline",
              "description",
              "status"
          ],
          "properties": {
              "description": {
                  "type": "string",
                  "example": "Make an app for Demo"
              },
              "status": {
                  "type": "string",
                  "example": "Created"
              },
              "deadline": {
                  "type": "string",
                  "format": "date",
                  "example": "01/15/16"
              }
          }
        }
    },
    "404": {
        "description": "Task not found"
    }
}
于 2016-02-25T22:04:09.697 回答