본문 바로가기
기억하려고 쓰는 것

http Method put, patch 차이점

by 츠키둥구리 2021. 12. 12.

지난번 회사에서 면접에 갔을 때였다.

http 메소드에 대한 질문이 나왔고, 그에 대한 대답을 했다.

각 메소드에 대해서 설명해달라는 질문이었던 것으로 기억한다.

 

그와중에 잠깐 절었던 것이 patch와 put이었다.

공부가 덜 된 탓이었는지, 

CRUD 읽기, 쓰기, 수정, 삭제의 개념으로 하나씩 대응하면서 이야기하는데 뭔가 하나가 빠진듯한 느낌이 든 것이다.

아마 대답은 다 했던거 같다. PUT 빼고..;;

 

그래서 http메소드에 대해서 다시금 공부하고 있는데 역시나 또 햇갈리거나 혼란스러울 수 있을거 같아서 기록으로 남긴다.

 

put과 patch는 리소스의 업데이트를 한다는 것에서 동일한 기능이다.

다만 세부 기능이 다르다.

 

 

 

put  리소스의 모든 것을 업데이트한다.

patch 리소스 중 일부를 업데이트 한다.

 

 

cats221 이라는 데이터가 있다고 해보자.

 

이름:'츠키'

나이: 2

성별: 수컷

 

 

put 메소드로 아래와 같이 보낸다면

입력되지 않은 값들은 null이된다. (나이, 성별)

 

PUT /cats/221

{

이름: '몰랑'

}

 

반면 

 

patch 메소드로 아래와 같이 보낸다면,

입력된 값만 변경이 일어난다.

(나이:2, 성별:수컷은 그대로 유지)

 

PUT /cats/221

 

{

이름: '몰랑'

}

 

따라서 실제 실무에서는 아마도 patch위주로 사용할 가능성이 크다는 것을 예견 할 수 있을 듯하다.

 

*왜 patch가 수정일까? 

과저 천공카드 쓰던 시절에서는 실수로 잘못 구멍을 뚫으면 스티커 같은것을 붙여서 매꿨다고 한다.

그래서 patch라고 ... 

 

댓글