백엔드/API

Restful API의 put과 patch의 차이

JerryTheSWEngineer 2022. 2. 17. 16:47
반응형

** 결론

PUT: 자원의 전체 교체, 자원 교체시 모든 필드 필요

만약 전체가 아닌 일부만 전달할 경우, 전달할 필드 외 모두 null or 초기값 처리되니 주의!!

 

PATCH: 자원의 부분 교체, 자원 교체 시 필드가 일부만 필요

 

**예시 

데이터 스키마는 Person,  컬럼은 name과 age가 있따고 치자.

 

Put으로 데이터를 수정한다면, 

기존의 데이터 : {"name":"김길동","age":"19"}

보내준 값 : {"name":"김개발"}

결과 : {"name":"김개발","age":null}

 

이처럼 Put은 데이터를 통째로 바꾸는 것이라고 생각하고, 전체 필드를 다 보내주어야한다.

만약 그렇지 않다면 기본값이나 null이 들어갈 것이다.

 

 

 

반면 Patch같은 경우는

보내준 값 : {"name":"김개발"}

결과 : {"name":"김개발","age":19}

 

보내준 값만 정보가 변경이 된다.

 

 

** 주의

PATCH는 지원하는 브라우저와 아닌 곳이 있다고 한다. 다음에 들어가서 확인해보는 것도 나쁘지 않다.

https://developer.mozilla.org/ko/docs/Web/HTTP/Methods/PATCH

 

PATCH - HTTP | MDN

HTTP PATCH 메소드는 리소스의 부분적인 수정을 할 때에 사용됩니다.

developer.mozilla.org

 

 

**참고 

https://velog.io/@insutance/REST-API-HTTP-Method-PUT-vs-PATCH

 

[REST API] HTTP Method PUT vs PATCH

restful API 를 공부하던 와중 update 부분을 만들 때 , PUT 을 사용해야 한다는 걸 알게 되었다.하지만 구글링을 통해 또 알게 된 내용은 update 를 PATCH 를 통해서 하는 방법도 있다는 걸 알게 되었다.이

velog.io

 

반응형