API란 HTTP 요청을 Back-end 컴퓨터에 보냈을때 실행되는 Back-end 기능입니다.
내가 입력한 데이터를 각 api에 맞게 요청되어서 응답을 받아야한다!
api는 back-end 개발자가 만든 함수다!
함수는 인자와 return 데이터가 있었는데,
api에 요청할 때 보내는 데이터는 API함수로 들어갈 인자고, 응답으로 받게되는 데이터가 api 함수의 return 데이터이다!
Api 종류는 크게 rest-api와 graphql-api 두가지가 있다.
1. 함수 이름의 차이
rest-api는 이름이 마치 홈페이지 주소처럼 생겼다.
그에 반해 grqphql-api는 이름이 일반적인 함수와 같다!2. 응답 결과물의 차이
rest-api는 응답 결과로 백엔드 개발자가 만든 함수에서 보내주는 모든 데이터를 받아왔어야만했다.
하지만 graphql-api는 백엔드 개발자가 만든 함수에서 내가 받고 싶은 데이터만 뽑아서 받을 수 있다.이러한 이유로 각 api에 전송을 요청하는 라이브러리도 다르다
rest-api : axios
graphql-api : apollo-client이러한 설명만 보아도 필요한 데이터만 받아올 수 있는 grqphql-api가 더 효율적이다!
graphql은 페이스북에서 발생하는 수많은 데이터를 처리하기 위해 페이스북 개발팀에서 만들었으며,
facebook, airbnb, github 등 유명한 사이트에서 사용중인 통신 방법이다!
절대 그렇지 않습니다!
개발쪼랩이지만 개발을 배우면서 느끼는 것은 어떤 것만! 공부 한다는 것은 개발 분야에선 있을 수 없는 이야기 인 것 같다.
내가 무조건 graphql-api만 쓰는 회사에 입사할 수는 없기 때문에 둘 다 알고 있어야한다!
그리고 카카오에서 제공해주는 api들을 사용할 때는 rest-api를 사용해야한다!
농은과 카카오는 거의 대부분 rest-api이다!