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 | 영순 |
멱등성이란?
- 서버로 요청을 여러번 날리는 행위와 한 번 날리는 행위가 같은 결과를 내면 멱등성을 가졌다고 한다.
참고
[ 기술 스터디 ] 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 |