我需要为搜索 API 定义 swagger/OpenAPI v 3.0 文件。我的请求可以指定地理空间坐标(经度和纬度)或(邮政编码和国家/地区代码)或(城市和州以及国家/地区代码)。除了这些,我还有一些更多的强制性属性,比如distance和distanceUnits。
我知道如何在 JSON 模式中做到这一点
"dependencies": {
"postalCode": ["countryCode"],
"city": ["state", "countryCode"],
"longitude": ["latitude"],
"latitude": ["longitude"]
},
"anyOf": [
{
"required": ["longitude", "latitude"]
},
{
"required": ["postalCode", "countryCode"]
},
{
"required": ["city", "state", "countryCode"]
}
]
}
但我在大摇大摆地定义它时遇到了麻烦。OpenAPI 3.0 允许oneOf和anyOf构造,但如果我试图在所需部分使用它,swagger 编辑器会给我一个错误。
任何帮助将不胜感激。