종류
정의
리소스의 일부만 변경할 때 사용하는 메서드
전체 객체를 다시 보낼 필요 없이 변경하고자 하는 필드만 전송합니다.
대용량 리소스를 다룰 때 효율적이며, API 성능 최적화에 유리합니다.
특징
리소스의 일부분만 변경하며, 부분 갱신에 최적화됨
부분 수정: 전체가 아닌 일부 필드만 전송 가능
멱등성 X: 요청이 반복되면 상태가 달라질 수 있음
경량 요청: 대용량 리소스를 다룰 때 효율적
조건부 변경: 클라이언트가 필요로 하는 부분만 수정
표준화: JSON Patch, JSON Merge Patch 형식 사용 가능
사용 예시
데이터 일부 변경이 필요한 상황에서 사용
사용자 이메일만 변경: 이름이나 나머지 정보는 그대로
게시글 제목만 수정: 본문은 수정하지 않음
프로필 이미지 교체: 나머지 정보는 그대로 유지
코드 예시
리소스의 일부만 수정합니다.
// 사용자 이메일만 PATCH로 수정하는 예시
fetch('/api/users/123', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'new_email@example.com'
})
})
.then(res => res.json())
.then(data => console.log(data));
비교
데이터 무결성과 일관성을 고려해 사용해야 합니다.
PUT VS PATCH
정의PATCH는 리소스의 일부를, PUT은 전체를 수정합니다PATCH는 부분 업데이트에 적합하며, PUT은 전체 리소스를 명시적으로 갱신할 때 사용됩니다.무결성, 명확성, 일관성 측면에서 PUT은 안정적이
develop-enchantment.tistory.com