我们的API具有这样的 endpoints ,通过合并这两组参数,同时支持 query
和 body
的参数 .
例如:
/foo?param1=value1
body: {
param2=value2
}
生成的参数集将包含两个, param1
和 param2
.
此 endpoints 可用作:
/foo?param1=value1¶m2=value2
要么
/foo
body: {
param1=value1,
param2=value2
}
有没有办法如何在Swagger中指定这种“二元性”?
UPD
我想我应该将参数定义为: body
和 query
in:
- body
- query
1 回答
您需要定义查询参数和主体参数,但将所有参数标记为可选 . 使用操作
description
来解释客户端可以在查询字符串或正文中发送参数 .使用OpenAPI 3.0,它更优雅,因为您可以为查询字符串和请求体重用相同的
schema
:对于Swagger UI用户的注意事项:从UI v.3.11.0开始,似乎不支持将对象序列化为查询字符串 .