개발일지./항해99

주특기 기본주차 팀과제 2 (22.11.28)

쭈(joo) 2022. 12. 1. 04:05

Q :  restAPI의 put 과 patch 는 어떤 차이점이 있을까요? 어떤 경우에 사용하면 좋을까요?

 

일단 API / restAPI 에 대해 정확히 알고있는지  집고 넘어가기 

 

 

API 란?

 

 

클라이언트가    ->  지워줘 수정해줘 삭제해줘    ->       서버

 

 

 

서버야 / 이걸해줘 / 게시글수정

서버야 / 지워줘 / 댓글

서버야/ 회원가입해줘 

 

클라이언트와 서버의 대화방법 [ 혹은 규칙] 을 " API " 라고합니다 

                  개발자마다 다르게 규칙을정할수있다.

 

 

-------------------------------------------------------------------------------------------------------------------------

 

그래서 모든개발자들의 규칙이 다르니  통일하자 ! 해서

 

모든 요청들을 통일하고 4가지로 나눔

 

 

POST /올려줘

GET / 불러와줘

PUT/PATCH / 수정하자

DELETE / 지워

 

⭐이렇게 함께 만든 통일된 대화의 규칙을 REST API 라고 부릅니다 :)

 

PUT : 전체 교체 / 전체수정 / 모든필드가 필요

 

PATCH : 부분교체  / 일부수정 / 일부 필드가 필요

 

 

-------------------------------------------------------------------------------------------------------------------------

 

⭐ ex) 원본데이터의 일부만 변경하고싶을때   = > 상품의 가격이 바뀌었을때로 가정해본다면  

 

{
   "goodsId": 2,
   "name": "시원한 콜라",
   "category": "drink",
   "price": 3000
}

 

-------------------------------------------------------

// PUT 으로 일부 수정을 하려고 하는경우

 

PUT/api/XXXX

 

{

"price": 2000

}

 

------------------------------------------------------

// 결과값

 

{
   "goodsId": null,
   "name": "null",
   "category": "null",
   "price": 2000
}

-----------------------------------------------------

 

// PUT 으로 정상적인 [내가원하는 결과로도출하려면] 수정을 하려면 ? 

 

PUT/api/XXXX

{

 

   "goodsId": 2,
   "name": "시원한 콜라",
   "category": "drink"
   "price": 2000

}

 

--------------------------------------------------------

// 결과값

 

{

   "goodsId": 2,
   "name": "시원한 콜라",
   "category": "drink"
   "price": 2000

}

 

-------------------------------------------------------

 

//PATCH 로 일부 수정을 하려고 하는경우

 

PATCH/api/XXXX

 

{

"price": 2000

}

 

 

------------------------------------------------------

 

// 결과값

 

{

   "goodsId": 2,
   "name": "시원한 콜라",
   "category": "drink"
   "price": 2000

}

 

------------------------------------------------------

 

어떤 경우에 사용하면 좋을까요?

 

일부수정시에는 PATCH를 사용하는게  더 편리하다

⭐ 전체수정시에는 PUT을  사용해야한다 :)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'개발일지. > 항해99' 카테고리의 다른 글

항해99 10기 3주차 WIL  (0) 2022.12.05
항해99 10기 3주차 WIL  (0) 2022.11.27
주특기 기본주차 팀과제1  (0) 2022.11.26
항해99 2주차 알고리즘 본시험 TIL (22.11.25)  (0) 2022.11.26
항해99 10기 2주차 WIL  (0) 2022.11.21