我需要为同一个端点和相同的方法(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。但是,我希望用户明确知道只需要传递其中一个。我希望在两种情况下都有一个完全不同的请求体。
答案 0 :(得分:1)
找不到直道。这是我现在关注的解决方法:
假设端点为/endpoint
。我可以通过附加#
后跟一个字符串在swagger-ui中创建2个端点:
/endpoint#1
/endpoint#2
然后,我可以在每个端点下单独定义我的请求主体。 swagger中的curl命令将隐藏哈希值 - 因此,两个端点基本相同。