我如何定义 array
object 属性,包含 comma separated
中的几个项目openapi-v3 中的字符串?
我想像这样验证请求正文(不是查询参数!):
{
"friends": "Ann,Bob"
}
我梦想有一个像这样的 openApi v3 模式定义:"friends": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Ann",
"Bob",
"Charlie"
]
},
"commaSeparation": ",", // does not exist
}
是否有官方支持的方式来描述此类字符串内容?如果不是:什么可能是一种解决方法,仍然可以精确定义和验证这些文本?
最佳答案
不,那里没有。不幸的是解析器friends
是并将永远是一个字符串。
您可以添加一个模式正则表达式来强制执行内容,例如:
"friends": {
"type": "string",
"pattern": "[Ann|Bob|Charlie],+" // some regex that enforces the allowed tokens and a trailing comma
}
如果你想要一个真正的数组,那么你需要使用一个数组类型。
关于arrays - 如何将数组属性定义为逗号分隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66311815/