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

削除リクエストの成功結果がOpenAPIのレスポンス定義にない状態

説明

DELETE の成功レスポンスが文書にないと、呼び出し側は削除の完了と処理の受け付けを区別しにくくなります。default は個別に定義していないステータスコードに適用されるため、エラー専用ではありません。

想定される影響

クライアントや自動テストが、正常に処理された結果を誤って解釈する可能性があります。

対処方法

実際の動作に合わせ、削除完了後に本文を返す場合は 200、処理がまだ完了していない場合は 202、完了後に本文を返さない場合は 204 を文書化してください。各結果の意味と、必要なレスポンススキーマも説明してください。

例

次のOpenAPI 3.0の抜粋では、削除が完了し、レスポンス本文を返さない場合の 204 を追加しています。

変更前

json
{
  "openapi": "3.0.0",
  "paths": {
    "/item": {
      "delete": {
        "operationId": "deleteItem",
        "summary": "Delete item",
        "responses": {
          "default": {
            "description": "Error"
          }
        }
      }
    }
  }
}

変更後

json
{
  "openapi": "3.0.0",
  "paths": {
    "/item": {
      "delete": {
        "operationId": "deleteItem",
        "summary": "Delete item",
        "responses": {
          "204": {
            "description": "Item deleted successfully"
          },
          "default": {
            "description": "Error"
          }
        }
      }
    }
  }
}

参考資料