【问题标题】:Swagger: first enum value overwrites typeSwagger:第一个枚举值覆盖类型
【发布时间】:2015-06-25 16:03:53
【问题描述】:

我正在使用 swagger doc 为我的应用程序生成 API。 Doc 是用 yml 编写的,在某些地方它将定义一些 enum 的 props(我们使用 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 将第一个值设置为数据类型,这是绝对不正确的。 所以问题是如何获取“类型”字段的值“字符串”。

【问题讨论】:

    标签: javascript mysql api yaml swagger


    【解决方案1】:

    我一直在用 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"
               }
    

    如果您查看项目,您会发现我没有使用类型并且它工作正常。

    【讨论】:

      猜你喜欢
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2022-06-22
      • 1970-01-01
      相关资源
      最近更新 更多