Delete a resource

DELETE 메서드로 지정한 리소스를 삭제하는 레시피입니다. 성공 시 보통 본문 없는 204 No Content를 받습니다.

개요

DELETE 메서드로 지정한 리소스를 삭제하는 레시피입니다. 성공 시 보통 본문 없는 204 No Content를 받습니다.

코드로 보기

curl -X DELETE https://api.example.com/users/1 \
  -H 'Authorization: Bearer <token>'
const res = await fetch('https://api.example.com/users/1', {
  method: 'DELETE',
  headers: { Authorization: 'Bearer <token>' }
});
if (res.status !== 204 && !res.ok) throw new Error('delete failed');
import requests

res = requests.delete('https://api.example.com/users/1',
                      headers={'Authorization': 'Bearer <token>'})
res.raise_for_status()

설명

성공 응답은 서버마다 다릅니다. 반환할 본문이 없으면 204, 삭제 결과나 메시지를 담으면 200을 씁니다. 실제로 삭제 작업을 큐에 넣기만 하면 202 Accepted가 오기도 합니다.

DELETE는 멱등합니다. 이미 삭제된 리소스에 다시 DELETE를 보내면 서버는 대개 404를 주지만, 최종 상태(리소스 없음)는 동일하므로 재시도해도 안전합니다. 일부 API는 이미 없는 리소스에도 204를 돌려주기도 합니다.

삭제는 되돌리기 어려운 작업이므로 인증(`Authorization`)이 거의 항상 필요하고, 동시 수정 충돌을 막기 위해 `If-Match`로 특정 버전만 삭제하도록 조건을 걸 수 있습니다.

관련 헤더

관련 상태코드