我正在使用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"
}
如果查看项目,您会发现我不使用类型,并且效果很好。