首页 文章

在同一 endpoints 支持两个不同的请求主体

提问于
浏览
1

我需要为同一个 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 回答

  • 1

    找不到直路 . 这是我现在关注的解决方法:

    假设 endpoints 是 /endpoint . 我可以通过附加 # 后跟一个字符串在swagger-ui中创建2个 endpoints :

    /endpoint#1

    /endpoint#2

    然后,我可以在每个 endpoints 下单独定义我的请求主体 . swagger中的curl命令将隐藏哈希值 - 因此,两个 endpoints 基本相同 .

相关问题