728x90
HTTP Method 중에 PUT와 PATCH는 리소스의 업데이트를 의미한다.
리소스를 업데이트 한다는 점에서는 같은 역할을 하는 메소드처럼 보이지만
두개의 요청에는 약간의 차이가 있다.
PUT : 리소스의 모든 것을 업데이트 한다.
PATCH : 리소스의 일부를 업데이트 한다.
아래와 같은 회원이라는 리소스가 있다.
회원 (member) | 1 |
이름 (name) | 애용이 |
나이 (age) | 10 |
성별 (gender) | M |
아래와 같은 요청을 보내면
PUT /members/1
{
name : "홍길동",
age : 19,
gender : "M"
}
회원 (member) | 1 |
이름 (name) | 홍길동 |
나이 (age) | 19 |
성별 (gender) | M |
위와 같이 변한다.
이번에는 나이와 성별를 빼고 요청을 보내면
PUT /members/1
{
name : "김길순"
}
회원 (member) | 1 |
이름 (name) | 김길순 |
나이 (age) | |
성별 (gender) |
보내지지 않은 값에 대해서는 null 값으로 변하는 것이다.
다시 아래와 같은 회원이라는 리소스가 있다.
회원 (member) | 1 |
이름 (name) | 애용이 |
나이 (age) | 10 |
성별 (gender) | M |
아래와 같은 요청을 보냈을때
PATCH /members/1
{
name : "김길순"
}
회원 (member) | 1 |
이름 (name) | 김길순 |
나이 (age) | 10 |
성별 (gender) | M |
요청에 포함되어 있는 부분만 변경이 된다는 차이점이 있다.
정리 : PUT과 PATCH의 차이점을 인지하고 상황에 맞게 쓰면 될 것 같다. PUT일 경우 값을 비워서 보내면 NULL값이 채워짐을 주의할 필요가 있을 것 같다.
참고 : https://programmer93.tistory.com/39
HTTP 메소드 PUT , PATCH 차이 - 삽질중인 개발자
HTTP Method 중에 PUT와 PATCH는 리소스의 업데이트를 의미한다. 리소스를 업데이트 한다는 점에서는 같은 역할을 하는 메소드처럼 보이지만 두개의 요청에는 약간의 차이가 있다. PUT : 리소스의 모든
programmer93.tistory.com
728x90
'Rest API' 카테고리의 다른 글
(스프링부트 Rest API) 다건 삭제 관련 (2) | 2022.08.30 |
---|