📚 오늘 공부한 내용
HTTP 메서드 - PUT vs PATCH와 멱등성
오늘은 RESTful API 설계에서 PUT과 PATCH의 차이점, 그리고 멱등성의 원리에 대해 지도를 받았다.
멱등성(Idempotency)이란?
같은 요청을 여러 번 수행해도 결과가 동일한 성질을 말한다. 쉽게 말해, 한 번 요청하나 열 번 요청하나 서버의 상태가 같다는 것이다.
PUT - 전체 리소스 교체
- 멱등성 O: 같은 PUT 요청을 여러 번 보내도 결과가 동일
- 리소스 전체를 새로운 데이터로 교체
- 요청에 포함되지 않은 필드는 null이나 기본값으로 초기화될 수 있음
PUT /users/1
{ "name": "홍길동", "email": "hong@example.com" }
→ 기존 데이터를 통째로 덮어씀
PATCH - 부분 수정
- 멱등성 X (일반적으로): 같은 요청을 여러 번 보내면 결과가 달라질 수 있음
- 리소스의 일부분만 수정
- 명시된 필드만 변경하고 나머지는 유지
PATCH /users/1
{ "email": "newemail@example.com" }
→ email만 변경, name 등 다른 필드는 그대로
언제 무엇을 쓸까?
PUT 사용
- 전체 데이터를 알고 있고, 완전히 교체하고 싶을 때
- 멱등성이 보장되어야 하는 상황
PATCH 사용
- 일부 필드만 수정하고 싶을 때
- 클라이언트가 전체 데이터를 모르는 상황
💡 느낀 점
API 설계할 때 단순히 "PATCH로 그냥 한 값만 바꿔서 보낼 수 있는데 굳이 PUT을 사용해야할까" 이렇게 생각했는데, 멱등성의 원리를 고려해서 선택해야 한다는 걸 배웠다. 작은 차이 같지만 API 안정성과 예측 가능성에 큰 영향을 미치는 중요한 개념이었다.
'🧑💻Sparta' 카테고리의 다른 글
| TIL - DDD기획 항공권 예약 사이트 ContextMap , Aggregate Root 도출 (10.29) (0) | 2025.10.29 |
|---|---|
| TIL - DDD 첫 설계 (10.28) (0) | 2025.10.28 |
| TIL - Collection (09.26) (0) | 2025.09.26 |
| TIL - Comparator (09.25) (0) | 2025.09.25 |
| TIL - Iterator (09.24) (0) | 2025.09.24 |