直接在响应对象上创建定义

时间:2017-03-03 19:52:42

标签: swagger swagger-editor

我有这个错误定义

"definitions": {
    "error": {
        "description": "The error",
        "properties": {
            "code": {
                "description": "The code.",
                "type": "string"
            },
            "description": {
                "description": "Uma descrição do erro.",
                "type": "string"
            }
        }

我使用$ ref的这个“错误”定义并且它可以工作:

"responses": {
    "400": {
        "description": "Error.",
        "schema": {
            "$ref": "#/definitions/erro"
        }

但是我在另一个路径中有一个不同的“错误”定义,我想直接在响应上编写错误定义,例如:

"responses": {
    "400": {
        "description": "Error.",
        "schema": {
            "error": {
                "description": "The error",
                "properties": {
                    "code": {
                        "description": "The code.",
                        "type": "string"
                    },
                    "description": {
                        "description": "Uma descrição do erro.",
                        "type": "string"
                    }
                }
        }

但这不符合要求: “Swagger Error。不是有效的响应定义”

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您必须将响应json更改为:

"400": {
    "description": "Error.",
    "schema": {
        "title": "error",
        "description": "The error",
        "type": "object",
        "properties": {
            "code": {
                "type": "string",
                "description": "The code."
            },
            "description": {
                "type": "string",
                "description": "Uma descrição do erro."
            }
        }
    }
}