Swagger:第一个枚举值覆盖类型

时间:2015-06-25 16:03:53

标签: javascript mysql api yaml swagger

我正在使用swagger doc为我的应用生成API。 Doc是用yml编写的,在某些地方它将定义一些枚举的道具(我们使用mysql)。这看起来像是:

properties:
      type:
        enum:
          - "first"
          - "second"
          - "example"
        type: "string"
      title:
        type: "string"
    ... // And so on and on

我希望得到这样的东西:

{
  "type": "string",
  "title": "string",
}

正如您所看到的,类型字段将是配置文件中定义的字符串,但我收到的是:

{
  "type": "first",
  "title": "string",
}

Swagger将第一个值设置为数据类型,绝对不正确。 所以问题是如何获得价值" string" for" type"字段。

1 个答案:

答案 0 :(得分:0)

我一直用JSON编写我的swagger文档。下面是我如何使用" enums"建立。也许你可以将它翻译成YML以获得更好的想法。

"parameters":[
           {
              "name":"userID",
              "in":"path",
              "description":"TO BE DETERMINED.",
              "required":true,
              "type":"string"
           },
           {
              "name":"embedded",
              "in":"query",
              "description":"TO BE DETERMINED",
              "required":false,
              "type":"array",
              "items":{
                 "enum":[
                    "address",
                    "state"
                 ]
              },
              "collectionFormat":"csv"
           }

如果你看一下你看到我没有使用某种类型的物品,它就能正常工作。