API

wony·2022년 3월 16일
0

API란 HTTP 요청을 Back-end 컴퓨터에 보냈을때 실행되는 Back-end 기능 (Back-end 개발자가 만든 함수)

REST VS GRAPHQL

rest-API

  1. API 이름이 마치 홈페이지 주소처럼 생김 === https://naver.com/board/1
  2. axios를 import 해야한다
  3. back-end 개발자가 만든 함수에서 보내주는 모든 데이터를 받아야만 한다.
  4. 용량이 너무 커서 느려지는 단점
  5. 국내에서 많이 사용중
  6. 우리가 취업하게 될 회사에서 사용할 가능성
  7. open-api,public-api은 rest-api 기반

graphql-API

  1. API 이름이 일반적인 함수와 같다 === board(1)
  2. apollo client를 import해야한다
  3. back-end 개발자가 만든 함수에서 필요한 데이터만 골라 받을 수 있다.
  4. 용량이 작아 속도가 빠른 장점
  5. 해외기업들이 많이 사용하고 있고 신규프로젝트는 거의 gql로 작업하는 추세!

JSON (javascript object notation)
우리는 JSON 형태로 데이터를 주고받는다

객체{}를 문자열""로 변경해 주고 받는것
body는 내용이 있고
header에는 요약본이 있다

요청 = request
응답 = response

요청과 응답 모두 형태가 JSON의 형태를 가진다

CRUD

CREATE 새로운 것을 생성하는 API

rest-POST
graphql-MUTATION(변경이 가능)

READ 기존의 것을 조회하는 API

rest-PUT
graphql-MUTATION

UPLOAD 기존의 것을 수정하는 API

reat-DELETE
graphql-MUTATION

DELETE 기존의 것을 삭제하는 API

rest-GET
graphql-QUERY(꺼내만 오는 것)

<추가 학습>

rest API ---- PUT vs PATCH

PATCH와 PUT은 둘 다 데이터의 수정을 위한 method이다.

PUT 요청 시 요청을 일부분만 보낸 경우 나머지는 default 값으로 수정되는 게 원칙이므로, 바뀌지 않는 속성도 모두 보내야 한다.

PUT /user/1 
{ "age": 10 } 
HTTP/1.1 200 OK 
{ "name": null, "age": 10 }

PUT 요청 시에는 아래와 같이 변경되지 않는 데이터도 모두 전달해야한다.

PUT /user/1 
{ "name": "Mike" "age": 10 } 
HTTP/1.1 200 OK 
{ "name": "Mike", "age": 10 }

PATCH를 이용하여 ‘age’만 변경하는 요청을 보내면,새롭게 바뀐 부분만 반영되고 기존의 데이터가 유지된다.

PATCH /user/1 
{ "age": 10 } 
HTTP/1.1 200 OK 
{ "name": "Mile, "age": 10 }
profile
무럭무럭 성장중🌿

0개의 댓글