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 |