我正在使用swagger文档为我的应用生成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将第一个值设置为数据类型,这绝对不正确。
因此,问题是如何为“类型”字段获取值“字符串”。

最佳答案

我一直在用JSON写我的招摇文档。以下是我如何设置“枚举”的示例。也许您可以将其翻译为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"
           }


如果查看项目,您会发现我不使用类型,并且效果很好。

07-24 09:46
查看更多