1. API란?
API란 HTTP 요청을 Back-end 컴퓨터에 보냈을 때 실행되는 Back-end 기능입니다.
Front-end에서 HTTP라는 길을 통해서 게시물 데이터를 Back-end에 보내 저장시켰습니다.
프로필 데이터를 저장하고 싶으면 여러개의 HTTP 라는 길이 존재해야 하고, 각각의 요청마다 담당자가 필요합니다. 우리는 이 담당자를 API 라고 부릅니다.
API를 함수라고 생각하면 쉽게 이해 할 수 있습니다. API에 요청할 때 보내는 데이터는 API 함수로 들어갈 인자이고, 응답으로 받게되는 데이터가 API 함수의 return 데이터 입니다.
2. Rest-API vs GraphQl-API
대표적으로 이 두 가지 API는 몇 가지 차이점이 있습니다.
Rest-API는 API 이름이 마치 홈페이지 주소처럼 생겼습니다.
GraphQL-API는 API 이름이 일반적인 함수와 같습니다.
Rest-API 는 응답 결과로 back-end 개발자가 만든 함수에서 보내주는 모든 데이터를 받아야만 합니다.
반면에, GraphQL-API는 back-end 개발자가 만든 함수에서 필요한 데이터만 골라 받을 수 있습니다.
이러한 이유로, 각 API에 전송을 요청하는 담당자도 다릅니다.
Rest-API 에 요청하는 요청담당자는 axios 입니다.
GraphQL-API 에 요청하는 요청담당자는 apollo-client 입니다.
요청담당자는 Front-end에서 설치하는 라이브러리를 뜻합니다.
JSON = 자바스크립트(JavaScript)의 객체(Object)처럼 표기(Notation)
API는 크게 4가지 방식으로 구분할 수 있습니다.