显示模型定义的枚举属性

时间:2014-11-27 10:37:09

标签: enums swagger swagger-ui

我试图在模型描述中显示模型的枚举。 我的模型的模式在定义下定义,并使用动作属性的枚举,因为只允许这三种类型。 (见下面的代码)

我正在使用swagger 2.0版。在版本1.2中,这似乎有效:http://petstore.swagger.wordnik.com/您可以在商店/订单下找到示例。 它们也使用枚举,它显示在模型视图中的属性后面。 如何使用新版本获得相同的结果?

感谢您的帮助!

   "paths": {
    "/event": {
        "post": {
            "tags": [
                "event"
            ],
            "summary": "Add an new Event.",
            "description": "TEST",
            "operationId": "addEvent",
            "consumes": [
                "application/json"
            ],
            "produces": [
                "application/json"
            ],
            "parameters": [
                {
                    "in": "body",
                    "name": "data",
                    "description": "",
                    "required": true,
                    "schema": {
                        "$ref": "#/definitions/Event"
                    }
                }
            ],
            "responses": {
                "405": {
                    "description": "Invalid input"
                }
            }
        }
    }
}
"definitions": {
    "Event": {
        "id": "eventModel",
        "required": [
            "action"
        ],
        "properties": {
            "action": {
                "type": "string",
                "default": "START",
                "enum": [ 
                    "START",
                    "UPDATE",
                    "END"
                ],
                "description": "blabla"
            }
        }
    }
}

PS:我现在认识到的另一个错误,就是显示的数组模型描述错过了结束括号]。

1 个答案:

答案 0 :(得分:1)

你的定义很好,swagger-ui中有一个已知的错误 - https://github.com/swagger-api/swagger-ui/issues/672。随意订阅问题并跟进那里的进展。

作为旁注,Swagger 2.0中的模型中没有"id"属性。