728x90

PUT

  • 리소스를 대체
    • 리소스가 있으면 대체
    • 리소스가 없으면 생성
    • 쉽게 얘기해서 기존 리소스를 완전히 덮어버림
  • 클라이언트가 리소스를 식별
    • 클라이언트가 리소스 위치를 알고 URI 지정 (어디에다가 어떤 데이터를 집어넣을거라고 지정해줌)
    • POST와 차이점 

 

ex)

리소스가 있으면 해당 자리에 데이터가 덮어짐.

리소스가 없으면 해당 자리에 데이터를 넣음 

 

⚠️ 주의! 리소스를 완전히 대체한다. 

ex) 회원 테이블에 name, age, address 가 있다. 

100원 회원의 age만 바꾸고 싶어 100번에 바꾸고 싶은 age만을 PUT → age 말고 name, address 가 NULL로 바뀜 

 

PUT은 사실 리소스를 수정하는게 아니다! 

 

PATCH

  • 리소스의 부분 변경

만약, PATCH가 되지 않을 경우 POST를 사용함

 

API 구현시 PUT과 PATCH의 차이 

PUT

  • 받은 DTO 그대로 update 

 

PATCH

  • 받은 id로 해당 자원을 찾은 후, 교체할 데이터만 수정해 DTO에 저장 → update 

 

참고

https://tecoble.techcourse.co.kr/post/2020-08-17-put-vs-patch/

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

728x90

'Computer Science > Web programming' 카테고리의 다른 글

[Web] SSR vs CSR  (4) 2022.08.30
Spring 버전별 특징  (2) 2022.08.19
[CS] MSA 구조 정리  (0) 2022.08.04
[Web] TDD 방법론  (1) 2022.05.24
[Web] REST vs RESTful vs REST API(RESTful API)  (2) 2021.12.31
복사했습니다!