네트워크/기본

[네트워크] HTTP 요청 메서드 PUT vs PATCH

댕주 2025. 3. 15. 22:54
한줄 정리
PUT -> 전체 업데이트 -> "새로운 걸로 덮어씌운다"
PATCH -> 부분 업데이트 -> "일부 필드만 고친다"

PUT

  • 특징
    • 전체 리소스를 수정 (덮어쓰기)
    • 요청 데이터 : 전체 데이터를 포함
    • 멱등성 보장 -> 같은 요청 여러 번 보낼 경우 결과 동일
  • 사용 예시
    • 회원 정보 수정 (전체 데이터 업데이트) PUT /users/1 + {전체 유저 정보}
  • 코드
    • 회원 정보를 수정할 때 전체 데이터를 전송해야 함
    • 기존 데이터가 통째로 바뀌기 때문에 없으면 null 처리됨
PUT /users/1
Content-Type: application/json

{
  "name": "Dengju",
  "email": "dengju@test.com",
  "phone": "010-1234-5678"
}

PATCH

  • 특징
    • 일부 필드만 수정
    • 요청 데이터 : 수정할 필드만 포함
    • 멱등성 보장 X (동작 방식에 따라 다름)
  • 사용 예시
    • 프로필 이미지 변경, 특정 필드만 수정 PATCH /users/1 + {수정할 필드만}
  • 코드
    • 특정 필드만 수정할 때 변경할 데이터만 전송
    • 기존 데이터 중 보낸 필드만 변경됨 (다른 필드는 유지)
PATCH /users/1
Content-Type: application/json

{
  "phone": "010-9999-8888"
}