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"
          }
        }
      }
    }
  }
}

참조