본문 바로가기
Spring

restAPI의 PUT / PATCH 차이점

by 리승우 2022. 10. 6.

우선, PUT과 PATCH는 둘 다 데이터를 UPDATE하는 HTTP Method이다!

 

하지만

PUT같은 경우는 모든 데이터(리소스)를 업데이트하고, 

PATCH는 요청한 데이터(리소스)만 업데이트한다.

그래서 PUT요청 시, 담지않은 값은 NULL로 저장되고, 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

 

요청에 포함되어 있는 부분만 변경이 된다는 차이점이 있다.

'Spring' 카테고리의 다른 글

Spring. DI / IOC / Bean 이란?  (0) 2022.10.06
RESTful의 의미, REST API의 구성요소 및 설계규칙  (0) 2022.10.06
Spring Controller / Service / Repository란?  (0) 2022.10.05
JPA란?  (1) 2022.10.05
getter / setter 사용이유  (0) 2022.08.15

댓글