Network

[HTTP] HTTP Method - PUT, PATCH, DELETE

HEY__ 2022. 7. 22. 10:03
728x90

이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!

 

⛅️ PUT

PUT /members/100 HTTP/1.1
Content-Type: application/json
{
    "username": "hello"
    "age": 20
}

● 리소스를 완전히 대체

   리소스가 있다면 대체(replace) / 리소스가 없다면 생성(create)

 

POST와의 차이점

   → 클라이언트가 리소스를 식별하고, 리소스의 위치를 알고 URI를 지정해야 한다.

        /members가 아닌, /members/100

 

리소스를 완전히 대체 즉, 덮어버린다는 것을 유의하자!

    예를 들어 기존에 username & age 필드가 있었지만 age 필드만 있는 리소스를 PUT한다면, 결과적으로는 username 필드는 삭제되고 age 필드만 남게 된다!

김영한님 자료 : PUT은 완전히 대체이다.
김영한님 자료 : PUT은 완전히 대체이다.

 


⛅️ PATCH

PATCH/ members/100 HTTP/1.1
Content-Type: application/json
{
    "age": 50
}

리소스를 부분 변경한다.

PUT과의 차이점 : 부분 변경하기 때문에, 명시한 필드의 값만 변경된다. (PUT은 전체 대체)

김영한님 자료 : PATCH
김영한님 자료 : PATCH는 부분 변경이기 때문에 명시한 age 필드의 값만 변경된다.

 


⛅️ DELETE

DELETE /members/100 HTTP/1.1
Host: localhost:8080

지정된 리소스를 제거한다.

리소스를 삭제하는 것이기 때문에, Body와 Content-Type 같은 헤더가 없는 것을 볼 수 있다.

 

 

 

 

 

728x90