REST API: PUT & PATCH
{"username": "chipmunk","email": "chipmunk@domain.com"}
위 문서 데이터를 POST 메소드로 /users 으로 보낸다. 다음과 같은 개체가 나온다.
## /users/1
{
"username": "chipmunk",
"email": "chipmunk@domain.com"
}
다음 PUT 과 PATCH 메소드를 살펴보자.
PUT /users/1
{
"username": "chipmunk",
"email": "chipmunk@domain.com" // new email address
}
PATCH /users/1
{
"email": "chipmunk@domain.com" // new email address
}
위 두 요청은 동일하다. 둘다 새로운 이메일 주소로 수정하는 것이다. 차이점은 username 의 여부다.
그렇다면 다음 PUT 요청은 어떻게 될까?
GET /users/1
{
"username": "chipmunk",
"email": "chipmunk@domain.com"
}
PUT /users/1
{
"email": "chipmunk@domain.com" // new email address
}
GET /users/1
{
"email": "chipmunk@domain.com" // new email address... and nothing else
}
위 요청은 정상적으로 작동한다. 그러나, username 데이터가 사라진 채로 저장이 된다.
'Back-End > Back-End 자료실' 카테고리의 다른 글
[Laravel] MySQL 8.0 이상 인증 오류 해결 (0) | 2018.09.25 |
---|---|
[Ruby On Rails] pg Gem 설치 오류 해결하기 (0) | 2018.05.21 |
REST API: POST & PUT (0) | 2018.05.08 |
CoC (Convention over Configuration) (0) | 2018.05.08 |
[ Ruby on Rails ] Devise 젬과 PaperClip 젬 사용하기 (2) | 2017.05.01 |
댓글