首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swagger:不允许在POST方法上查询参数?

Swagger:不允许在POST方法上查询参数?
EN

Stack Overflow用户
提问于 2019-10-16 23:12:13
回答 2查看 137关注 0票数 0

我已经在Swagger中描述了一个POST端点,我希望该端点也具有查询参数。我们使用1.2 swagger格式,因为,好吧,遗留的原因。我们使用3scale,它托管文档,您可以在他们的web UI中编辑您的swagger。但是,当我尝试保存文档时,它给出了以下错误。

JSON Spec can not have paramType='body' and paramType='query' on the same method

我在swagger规范中找不到任何说明这是一个实际限制的东西。这可能是特定于3Scale的东西,或者这是一个普遍的夸张限制?如果是后者,有没有人能给我指出一份说明它的规范?

实际的REST端点并不关心,它对POST上的查询参数感到满意。它只是让Swagger工具变得快乐而已。下面是swagger文档的简短片段:

代码语言:javascript
复制
{
  "parameters": [
    {
      "name": "myQueryParam",
      "dataType": "string",
      "paramType": "query",
      "required": true
    },
    {
      "name": "body",
      "dataType": "string",
      "paramType": "body",
      "required": true
    }
  ],
  "httpMethod": "POST"
}
EN

回答 2

Stack Overflow用户

发布于 2020-10-12 00:42:47

不确定错误消息是否是一般的验证错误,但在您共享的规范中有几个错误:

  • it is“"httpMethod"
  • it”and not type is“”and not "dataType"

https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md

票数 0
EN

Stack Overflow用户

发布于 2021-12-09 20:51:59

以下示例适用于我,但我使用的是required=false:

代码语言:javascript
复制
 {
        "in": "query",
        "name": "myQueryParam",
        "required": false,
        "type": "string"
 }

另请参阅Swagger parameters in query and/or body

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58416562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档