REST는 URI를 통해 자원을 표시하고, HTTP Method를 이용하여 해당 자원의 행위를 규정하여
그 결과를 받는 것을 말한다.
HTTP Method는 크게 GET, POST, PUT, DELETE가 대표적이며,
보통 CRUD에서 조회는 GET, 등록은 POST, 수정은 PUT, 삭제는 DELETE를 이용한다.
GET과 DELETE는 비교적 그 행위가 명확하지만, POST와 PUT을 구분하기 위해서는 멱등성의 개념을 알고 있어야 함.
PUT, PATCH 의 경우 둘 다 데이터를 수정한다는 공통점을 가짐
하지만 차이점이 있다면
✓ PUT : 리소스의 모든 것을 업데이트 해야 함
PUT 요청 시 요청을 일부분만 보낸 경우 나머지는 default 값으로 수정되는 게 원칙이므로, 바뀌지 않는 속성도 모두 보내야 한다.
(만약 전체가 아닌 일부만 전달할 경우, 전달한 필드외 모두 null 혹은 default 값처리되니 주의해야한다.)
✓ PATCH : 리소스의 일부를 업데이트 함
PATCH 요청의 경우 업데이트가 필요한 해당 데이터만 보내주면 그 값만 변경이 가능 하다.
ex)
{
name : "홍길동",
age : 19,
gender : "M"
}
다음과 같이 변경
이번에는 나이와 성별을 빼고 요청
{
name : "김길순"
}
보내지 않은 값은 null 값으로 변함
{
name : "김길순"
}
기존 데이터는 유지되고 보내준 값만 변경