API(Application Programming Interface)를 간단히 정의하면 http 요청을 보냈을 때 백엔드에서 제공하는 기능이라고 볼 수 있다.
rest와 다르게 graph ql은 서버에 저장된 정보에서 원하는 부분만 받을 수 있어 네트워크 비용 이 절감된다.
api에서 백엔드에 정보를 요청(request)하고 응답(response)할 때 헤더(=요약 정보)로 받는다 이때 보내는 내용의 형태는 application/json 타입이다.
(cf:JSON은 JavaScript Object Notation의 약자로 자바스크립트의 객체 표현 방식을 가져온 파일 형식)
<요청 담당자: 일종의 라이브러리>
Rest에 요청하는 요청 담당자는 axios
Graph에 요청하는 요청 담당자는 apollo-client
react에서 import해서 사용하면 된다
Create,Update,Delete는 DB에 접속해서 데이터를 변경해야 하기 때문에 graph ql은 하나의 기능(MUTATION)으로 합쳤다
데이터 변경이 필요없는 Read 기능은 QUERY로 지정
rest의 GET,PUT,DELETE method를 요청할 때 요청 양식은 같고 method 이름으로 구분하는데 이를 Restful하다고 부른다.