본문 바로가기

CS

PATCH와 PUT

PUT

요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체

 

  • 입력한 값 이외의 값은 모두 null로 처리
  • 요청한 자원이 존재하지 않으면, 새롭게 생성
  • 멱등성을 가짐

 

id money name
1 50 영식
2 10 영돌
3 300 영순

이러한 리소스가 있다고 가정할 때

 

1.

PUT /customers?id=1
{
    name : 민식
    money : 0
}

2.

PUT /customers?id=1
{
    name : 민식
}

두 종류의 PUT요청을 보내게 되면,

 

1.

id money name
1 0 민식
2 10 영돌
3 300 영순

2.

id money name
1 null 민식
2 10 영돌
3 300 영순

 

PATCH

리소스의 부분적인 수정을 할 때에 사용

 

  • 입력한 값 이외의 값은 모두 그대로 유지
  • 요청한 자원이 존재하지 않으면, 오류가 발생
  • 멱등성을 가지지 않음

1.

PATCH /customers?id=1
{
	name : 민돌
        balance : 0
}

2.

PATCH /customers?id=1
{
	name : 민돌
}

두 종류의 PATCH요청을 보내게 되면,

 

1.

id money name
1 0 민식
2 10 영돌
3 300 영순

2.

id money name
1 50 민식
2 10 영돌
3 300 영순

 

 

멱등성이란?

- 서버로 요청을 여러번 날리는 행위와 한 번 날리는 행위가 같은 결과를 내면 멱등성을 가졌다고 한다.

 

 

참고

- https://velog.io/@vagabondms/%EA%B8%B0%EC%88%A0-%EC%8A%A4%ED%84%B0%EB%94%94-PUT%EA%B3%BC-PATCH-%EC%B0%A8%EC%9D%B4

 

[ 기술 스터디 ] PUT과 PATCH 차이

PUT과 PATCH 사이. 미묘한 무언가가 있다.

velog.io

 

'CS' 카테고리의 다른 글

JWT  (0) 2023.08.10
URI URL URN  (0) 2023.08.03
대칭키와 비대칭키  (0) 2023.08.03
SQL Injection  (0) 2023.07.27
Join  (0) 2023.07.27