swagger - Swagger:不允许在 POST 方法上查询参数?
问题描述
我有一个 Swagger 中描述的 POST 端点,我希望该端点也有查询参数。我们使用 1.2 swagger 格式是因为,嗯,遗留的原因。我们使用 3scale,它托管文档,您可以在其 Web UI 中编辑您的招摇。但是,当我尝试保存文档时,它给了我以下错误。
JSON Spec can not have paramType='body' and paramType='query' on the same method
我在招摇规范中找不到任何说明这是实际限制的内容。这可能是 3Scale 特有的,还是一般的招摇限制?如果是后者,有人可以指出一个规范来澄清它吗?
实际的 REST 端点并不关心,它对 POST 上的查询参数感到满意。它只是让 Swagger 工具变得快乐。这是 swagger 文档的缩写片段:
{
"parameters": [
{
"name": "myQueryParam",
"dataType": "string",
"paramType": "query",
"required": true
},
{
"name": "body",
"dataType": "string",
"paramType": "body",
"required": true
}
],
"httpMethod": "POST"
}
解决方案
不确定错误消息是否是通用验证错误,但您共享的规范中有几个错误:
- 它是“方法”而不是“httpMethod”
- 它是“类型”而不是“数据类型”
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md
推荐阅读
- python - QTreeView根据内容动态高度,显示三角形
- android - 在 Android 上,在创建新的大文件之前和期间,我怎么知道在没有存储空间的情况下会成功?
- devstack - 通过 devstack,计算节点未显示在操作系统界面中
- reactjs - 在没有浏览器刷新的情况下渲染时,useRef 为 null
- java - AWS Lambda:配置 logback 以记录到 tmp 文件夹
- stm32 - stm32 RTC 唤醒定时器中断 LL
- deep-learning - RNN 中的梯度计算:随时间的反向传播(多对一关系)
- java - 序列化对象中的 NullPointerException
- javascript - 解构原始错误以使用数组返回 mongodb 错误的无效数据
- reactjs - 如何避免在具有动态重定向的组件中进行不必要的重新安装?