我需要为同一端点和同一方法(POST)支持两种请求体。在斯瓦格有可能吗
这一点很重要,因为两个请求体都是有效的,用户可以发送它们中的任何一个。更具体地说,
请求体1:
{
param1: value1
param2: value2
param3: {
param3Key1: x1
param3Key2: x2
...
}
}
请求体2:
{
param1: value1
param2: value2
param4: {
differentKey1: y1
differentKey2: y2
...
}
}
有没有办法在Swagger中记录这种情况?
一种方法是在文档中同时保留param3和param4。但是,我希望用户明确知道,只需要传递其中一个。我想有一个完全不同的请求体的两种情况。
1条答案
按热度按时间bvjxkvbb1#
找不到一条直路。以下是我现在遵循的解决方法:
假设端点是
/endpoint
。我可以在swagger-ui中创建两个端点,方法是在#
后面加上一个字符串:/endpoint#1
/endpoint#2
然后,我可以在每个端点下分别定义两个请求体。swagger中的curl命令会隐藏hash --因此,两个端点基本上是相同的。