swagger 在同一端点支持两个不同的请求体

hgc7kmma  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(194)

我需要为同一端点和同一方法(POST)支持两种请求体。在斯瓦格有可能吗
这一点很重要,因为两个请求体都是有效的,用户可以发送它们中的任何一个。更具体地说,

请求体1:

{
    param1: value1
    param2: value2
    param3: {
        param3Key1:  x1
        param3Key2:  x2
        ...
    }
}

请求体2:

{
    param1: value1
    param2: value2
    param4: {
        differentKey1:  y1
        differentKey2:  y2
        ...
    }
}

有没有办法在Swagger中记录这种情况?
一种方法是在文档中同时保留param3和param4。但是,我希望用户明确知道,只需要传递其中一个。我想有一个完全不同的请求体的两种情况。

bvjxkvbb

bvjxkvbb1#

找不到一条直路。以下是我现在遵循的解决方法:
假设端点是/endpoint。我可以在swagger-ui中创建两个端点,方法是在#后面加上一个字符串:
/endpoint#1
/endpoint#2
然后,我可以在每个端点下分别定义两个请求体。swagger中的curl命令会隐藏hash --因此,两个端点基本上是相同的。

相关问题