操作で受け付けるリクエスト形式の未定義

APIが受け付けるリクエスト本文のメディアタイプが記述されているか確認します。

説明

OpenAPI 2.0のconsumesは、リクエスト本文のメディアタイプを表します。本文を受け付けるPOST、PUT、PATCH操作で、全体にも操作にも定義がない場合、クライアントは送信形式を判断しにくくなります。

想定される影響

クライアントが誤ったContent-Typeを使用し、リクエストが拒否されたり本文の処理に失敗したりする可能性があります。

対処方法

サーバーが実際に受け付けるメディアタイプを、全体または操作のconsumesに指定します。操作の値は全体の値を上書きします。JSON本文にはapplication/jsonを使用し、フォームデータはformDataパラメーターで定義してください。

例

この抜粋では、JSONオブジェクトを本文として受け付ける操作にapplication/jsonを指定しています。

変更前

yaml
swagger: "2.0"
paths:
  /users/{id}:
    put:
      parameters:
        - in: body
          name: body
          schema:
            type: object
      responses:
        "200":
          description: ok

変更後

yaml
swagger: "2.0"
paths:
  /users/{id}:
    put:
      consumes:
        - application/json
      parameters:
        - in: body
          name: body
          schema:
            type: object
      responses:
        "200":
          description: ok

参考資料