전체 목록
APIMedium#410

REST API의 주요 HTTP 메서드(GET, POST, PUT, PATCH, DELETE)의 차이점을 설명해주세요.

#API#REST#HTTP#메서드

답변 포인트

각 HTTP 메서드가 리소스를 조회, 생성, 전체 수정, 부분 수정, 삭제 중 무엇에 쓰이는지 비교해보세요.

정답 및 해설

빠른 요약

RESTful API 설계에서 각 메서드는 리소스에 대한 행위(Verb)를 나타냅니다. ## 1.

RESTful API 설계에서 각 메서드는 리소스에 대한 행위(Verb)를 나타냅니다.

1. GET (조회)

  • 리소스를 가져올 때 사용합니다.
  • 멱등성(Idempotent): 여러 번 호출해도 서버의 상태가 변하지 않으며 결과가 같습니다.
  • 안전성(Safe): 서버의 데이터를 변경하지 않습니다.
  • 예: GET /users/1 (ID가 1인 사용자 정보 조회)

2. POST (생성)

  • 새로운 리소스를 생성할 때 사용합니다.
  • 멱등성 없음: 호출할 때마다 새로운 리소스가 생성될 수 있습니다.
  • 예: POST /users (새로운 사용자 생성)

3. PUT (전체 교체)

  • 리소스를 완전히 새로운 상태로 교체할 때 사용합니다.
  • 멱등성: 동일한 데이터를 여러 번 보내도 리소스는 항상 같은 상태로 유지됩니다.
  • 만약 해당 리소스가 없으면 새로 생성하기도 합니다.
  • 예: PUT /users/1 (ID 1인 사용자의 전체 정보를 전달된 데이터로 통째로 갈아끼움)

4. PATCH (부분 수정)

  • 리소스의 일부 필드만 수정할 때 사용합니다.
  • 멱등성 없음 (엄밀히는): 구현 방식에 따라 다를 수 있지만, 일반적으로 PATCH는 멱등성을 보장하지 않는 것으로 간주됩니다. (예: age += 1 같은 연산적 수정 시)
  • 예: PATCH /users/1 (ID 1인 사용자의 이름만 변경)

5. DELETE (삭제)

  • 리소스를 삭제할 때 사용합니다.
  • 멱등성: 이미 삭제된 리소스에 대해 다시 DELETE를 호출해도 결과적으로 리소스는 없는 상태이므로 멱등합니다.
  • 예: DELETE /users/1 (ID 1인 사용자 삭제)

요약 비교

메서드역할멱등성안전성
GET조회OO
POST생성XX
PUT전체 교체OX
PATCH부분 수정X (일반적)X
DELETE삭제OX

관련 질문

같은 카테고리/태그 기준