본문 바로가기

HTTP

3월 8일 HTTP put,patch,delete

put

 

put/members/100 HTTP/1.1

content-type : application/json

 

{"username" : "hello" , "age":20}

리소스를 대체(바꿔치기)

-리소스가 이미 있으면 그것을 대체

-리로스가 없으면 생성

-쉽게 이야기해서 리소스 덮어쓰기

 

*중요, 클라이언트가 리스소를 식별

-클라이언트가 리소스의 위치를 알고 URI에 지정

-POST와 차이점 

post는 /member 까지만 지정한다. 즉 클라이언트가 리소스의 구조를 모른다.

put은 /member/100 리소스의 위치까지 지정한다, 그래서 클라이언트가 리소스 구조를 알고 있어야한다.

 

(request)

put /members/100 HTTP/1.1

content-type : application/json

 

{"username" : "old" , "age" : 50}

 

///members/100 와 같이 리소스가 100에 이미 있다면 해당 리소스를 대체 , 100에 리소스가 없다면 신규리소스 생성

 

put이 members/100으로 넣을경우 키:값 양의 수와는 무관하게 이미 있기만한다면 새로운 put을 갈아치운다(덮어쓰기)

 

patch

put에서 하지못한 부분수정을 구현

 

patch /members/100 HTTP/1.1

content-type : application/json

 

{"age" : 50}

 

리스소가 이미 가지고 있는 값을 부분 변경하겠다는 의미이다.

위가 적용되면

/members/100

{"username" : "young" , "age" : 20} 이

{"username" : "young" , "age" : 50} 이 된다.

 

delete 

리소스 제거

 

Delete /members/100 HTTP/1.1

Host : localhost:8080

 

/members/100 해당 위치의 리소스가 삭제된다.

 

patch가 지원되지 않을경우 post를 사용하면 된다.

'HTTP' 카테고리의 다른 글

3월 9일 HTTP 실제 활용  (0) 2023.03.09
3월 9일 HTTP 메소드 속성  (1) 2023.03.09
3월 8일 HTTP 메서드  (0) 2023.03.08
3월 8일 HTTP 메시지  (0) 2023.03.08
1월 5일 HTTP 비연결성  (0) 2023.01.06