더북(TheBook)

우리가 구현한 updatereplace 함수는 용도는 비슷하지만 구현 방식이 다릅니다. update(PATCH)는 기존 값은 유지하면서 새 값을 덮어 씌우는 반면, replace(PUT)은 Request Body로 받은 값이 id를 제외한 모든 값을 대체합니다.

직접 한번 호출해 볼까요? 다음 요청을 Postman으로 실행하세요.

# 요청
PATCH http://localhost:4000/api/posts/1
{
"title": "변경됨"
}

# 결과
{
  "id": 1,
  "title": "변경됨",
  "body": "내용"
}

PATCH로 했을 때는 기존 body 내용을 유지하며, Request Body로 전달한 title 값만 변경했습니다. 반면 PUT으로 하면 어떨까요?

# 요청
PUT http://localhost:4000/api/posts/1
{
"title": "변경됨"
}

# 결과
{
  "id": 1,
  "title": "변경됨"
}

PUT 메서드를 사용하니 기존 body가 사라져 버렸습니다. 따라서 포스트 수정 API를 PUT으로 구현해야 할 때는 모든 필드가 다 있는지 검증하는 작업이 필요합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.