내가 알기로 PUT은 POST GET과같이 API기능중 하나로
데이터의 내용을 '수정'할때 쓰는 기능이라고 알고있었다
PATCH도 찾아보니 API의 기능인데 이것도 데이터를 '수정'할때 쓴다고한다
둘다 '수정'인데 그럼 무슨차이가 있는거지?????
PUT과 PATCH의 차이
일단 다음표를 보면
PUT | PUT | PATCH | |
원본 | {"이름":"명수 , "나이":40} | ||
Before | {"이름":"명수 , "나이":40} | {"이름":"명수} | {"이름":"명수} |
After | {"이름":"명수 , "나이":40} | {"이름":"명수 , "나이":null} | {"이름":"명수 , "나이":40} |
표로만 봐도 한눈에 차이가 나는데
PUT은 원래 데이터의 내용인 "이름" 하나만 바꾸기를 요청하면 요청을 안한 "나이"는 마지막에 null이 된다
반면에 PATCH는 데이터의 내용인 "이름"하나만 바꿨는데 "나이"는 그대로 40이 있다!
정리하자면
PUT 요청 시 요청을 일부분만 보낸 경우 나머지는 default 값으로 수정되는 게 원칙이므로,
바뀌지 않는 속성도 모두 보내야 한다.
PATCH를 이용하여 ‘이름’만 변경하는 요청을 보내면,
새롭게 바뀐 부분만 반영되며 나머지는 기존의 데이터가 유지된다
'코딩조각' 카테고리의 다른 글
[java] 조건문 사용하는 이유, if /else /else if 사용법 (0) | 2022.07.29 |
---|---|
[Spring] spring jpa localtime between (0) | 2022.07.27 |
[java] do-while, break, continue 사용법 (0) | 2022.07.17 |
[java]반복문 쓰는 이유와 for문 중첩 for문 while문 사용방법 (0) | 2022.07.17 |
[java] Scanner기능 써보기 (0) | 2022.07.17 |