JPA

HTTP Method PUT, PATCH의 차이

Hzim 2023. 7. 4. 00:33

HTTP Method

HTTP Method란 클라이언트와 서버 사이에 이뤄지는 요청(Request)와 응답(Response) 데이터를 전송하는 방식을 말한다. 서버에 주어진 리소스에 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다.

 

HTTP Method는 9가지의 종류가 있다

  • GET : 리소스 조회 (Read)
  • POST : 전달한 데이터 처리, 생성 요청 (CREATE)
  • PUT : 리소스 수정 (Update)
  • PATCH : 리소스 일부 수정 (Update)
  • DELETE : 리소스 제거 (Delete)
  • HEAD : GET과 동일하지만 서버에서 리소스를 응답하지 않고 헤더만 반환
  • OPTIONS : 본 요청을 하기 전, 안전성을 검사하기 위한 예비 요청에 사용
  • CONNECT : 요청한 리소스에 대해 양방향 연결을 시작
  • TRACE : 대상 리소스의 경로에 따라 루프백을 호출하여 검사

 

 

 

이 중에서 PUT과 PATCH는 리소스 수정이라는 공통점을 가지고 있지만, 약간의 차이점이 존재한다.

 

PUT

[리소스 예시]

회원(members) 1
이름(name) 김철수
나이(age) 24
전화번호(phone) 01012345678

 

 

 

 

리소스의 모든 칼럼에 대한 데이터 변경 요청의 경우

PUT/members/1
{
	name:"김영희",
    	age:20,
    	phone:"01056781234"
}

 

회원(members) 1
이름(name) 김영희
나이(age) 20
전화번호(phone) 01056781234

 

 

 

 

리소스의 특정 칼럼에 대한 데이터 변경 요청의 경우 

=> 요청을 보내지 않은 데이터는 null 값으로 변한다

PUT/members/1
{
	name:"김영희"
}

 

회원(members) 1
이름(name) 김영희
나이(age)  
전화번호(phone)  

 

 

 

 

PATCH

[리소스 예시]

회원(members) 1
이름(name) 김철수
나이(age) 24
전화번호(phone) 01012345678

 

 

 

 

리소스의 모든 칼럼에 대한 데이터 변경 요청의 경우

PUT/members/1
{
	name:"김영희",
    	age:20,
    	phone:"01056781234"
}

 

회원(members) 1
이름(name) 김영희
나이(age) 20
전화번호(phone) 01056781234

 

 

 

 

리소스의 특정 칼럼에 대한 데이터 변경 요청의 경우

=> 요청을 보낸 칼럼에 대해서만 수정이 이뤄진다

PUT/members/1
{
	name:"김영희"
}

 

회원(members) 1
이름(name) 김영희
나이(age) 24
전화번호(phone) 01012345678