[英]Swagger: query params on POST methods not allowed?
我有一個 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 特有的,還是一般的 swagger 限制? 如果是后者,有人可以指出一個規范來澄清它嗎?
實際的 REST 端點並不關心,它對 POST 上的查詢參數感到滿意。 它只是讓 Swagger 工具感到高興。 這是 swagger 文檔的縮寫片段:
{
"parameters": [
{
"name": "myQueryParam",
"dataType": "string",
"paramType": "query",
"required": true
},
{
"name": "body",
"dataType": "string",
"paramType": "body",
"required": true
}
],
"httpMethod": "POST"
}
不確定錯誤消息是否是通用驗證錯誤,但您共享的規范中有幾個錯誤:
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md
以下示例適用於我,但我使用 required=false:
{
"in": "query",
"name": "myQueryParam",
"required": false,
"type": "string"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.