我需要为同一个 endpoints 和相同的方法(POST)支持两种请求体 . 在Swagger有可能吗?
这很重要,因为两个请求体都是有效的,用户可以发送其中任何一个 . 进一步来说,
RequestBody 1:
{
param1: value1
param2: value2
param3: {
param3Key1: x1
param3Key2: x2
...
}
}
RequestBody 2:
{
param1: value1
param2: value2
param4: {
differentKey1: y1
differentKey2: y2
...
}
}
有没有办法在Swagger中记录这种情况?
一种方法是将param3和param4保存在文档中 . 但是,我希望用户明确知道只需要传递其中一个 . 对于这两种情况,我想要一个完全不同的请求体 .
1 回答
找不到直路 . 这是我现在关注的解决方法:
假设 endpoints 是
/endpoint
. 我可以通过附加#
后跟一个字符串在swagger-ui中创建2个 endpoints :/endpoint#1
/endpoint#2
然后,我可以在每个 endpoints 下单独定义我的请求主体 . swagger中的curl命令将隐藏哈希值 - 因此,两个 endpoints 基本相同 .