put과 patch는 모두 업데이트에 사용하는 메서드이다.
리소스의 모든 것을 업데이트함
업데이트 시, 특정 컬럼을 제외하고 한 컬럼만 변경했다면, 다른 컬럼들은 null값으로 변하게 된다.
ex)
title : "제목"
name : yuns
에서 title을 PUT으로
title : "수정한 제목"
으로 바꿨다면,
title : "수정한 제목"
name :
처럼 name값이 null이된다.
리소스의 일부를 업데이트함
put과 달리 한 컬럼만 변경해도 다른 컬럼의 정보가 남아있다.
ex)
title : "제목"
name : yuns
에서 title을 PATCH로
title : "수정한 제목"
으로 바꿨다면,
title : "수정한 제목"
name : yuns
수정하지 않은 데이터도 남아있게된다.
여러번 수행해도 결과가 같은 것.
GET, PUT, DELETE는 같은 경로로 여러번 호출해도 결과가 같지만, POST는 매 호출마다 새로운 데이터가 추가된다.
PATCH는 멱등성이 있게도, 아니게도 설계할 수 있다.