Computer Science/Web programming
[Web] PUT vs PATCH
goodorbad
2022. 12. 5. 15:32
728x90
PUT
- 리소스를 대체
- 리소스가 있으면 대체
- 리소스가 없으면 생성
- 쉽게 얘기해서 기존 리소스를 완전히 덮어버림
- 클라이언트가 리소스를 식별
- 클라이언트가 리소스 위치를 알고 URI 지정 (어디에다가 어떤 데이터를 집어넣을거라고 지정해줌)
- POST와 차이점
ex)
리소스가 있으면 해당 자리에 데이터가 덮어짐.
리소스가 없으면 해당 자리에 데이터를 넣음
⚠️ 주의! 리소스를 완전히 대체한다.
ex) 회원 테이블에 name, age, address 가 있다.
100원 회원의 age만 바꾸고 싶어 100번에 바꾸고 싶은 age만을 PUT → age 말고 name, address 가 NULL로 바뀜
PUT은 사실 리소스를 수정하는게 아니다!
PATCH
- 리소스의 부분 변경
만약, PATCH가 되지 않을 경우 POST를 사용함
API 구현시 PUT과 PATCH의 차이
PUT
- 받은 DTO 그대로 update
PATCH
- 받은 id로 해당 자원을 찾은 후, 교체할 데이터만 수정해 DTO에 저장 → update
참고
https://tecoble.techcourse.co.kr/post/2020-08-17-put-vs-patch/
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
728x90