我已经创建了一个 RESTful API,现在正在为该 API 的使用定义 Open API 3.0 JSON 表示形式。
当存在另一个参数时,我需要有条件地使用一个参数。所以我不能真正使用required: trueorrequired: false因为它需要有条件。我是否应该将其定义为required: false,然后在summary和/或 中description说在使用其他参数时需要它?或者有没有办法定义参数之间的依赖关系?我在规格中没有发现任何提及此类案例的内容。
小智 13
来自文档:
参数依赖性
OpenAPI 3.0不支持参数依赖和互斥参数。github.com/OAI/OpenAPI-Specification/issues/256上有一个开放的功能请求。您可以做的就是在参数描述中记录限制并在 400 Bad Request 响应中定义逻辑。
小智 8
请参阅https://community.smartbear.com/t5/Swagger-Open-Source-Tools/Defining-conditional-attributes-in-OpenAPI/td-p/222410,您可以在所需字段列表周围使用anyOf
anyOf:
- required: [longitude, latitude]
- required: [postalCode, countryCode]
- required: [city, state, countryCode]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26303 次 |
| 最近记录: |