HEADの成功レスポンスが未定義(OpenAPI 3.0)

本文を返さずメタデータを取得するHEADの成功レスポンスがない状態

説明

HEAD はレスポンス本文を受け取らずにリソースのメタデータを取得します。成功レスポンスが定義されていないと、呼び出し側や自動化ツールが正常な結果を判断しにくくなります。

想定される影響

リソースの存在や稼働状況を確認するクライアントが、正常なレスポンスを失敗として扱う可能性があります。

対処方法

実際に返す 200 などの成功コードと意味を responses に定義してください。必要なレスポンスヘッダーを説明し、HEAD レスポンスには本文を定義しないでください。

例

次のOpenAPI 3.0の抜粋では、エラーとして説明されている default に加えて、200 の成功レスポンスを定義しています。

変更前

json
{
  "openapi": "3.0.0",
  "paths": {
    "/item": {
      "head": {
        "operationId": "headItem",
        "summary": "Head item",
        "responses": {
          "default": {
            "description": "Error"
          }
        }
      }
    }
  }
}

変更後

json
{
  "openapi": "3.0.0",
  "paths": {
    "/item": {
      "head": {
        "operationId": "headItem",
        "summary": "Head item",
        "responses": {
          "200": {
            "description": "Success"
          },
          "default": {
            "description": "Error"
          }
        }
      }
    }
  }
}

参考資料