Back-End/Back-End 자료실

REST API: PUT & PATCH

Chipmunks 2018. 5. 8.
728x90

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 데이터가 사라진 채로 저장이 된다.

댓글