Node.js를 이용해, 데이터베이스에 접근하는 나만의 명령어를 만들고
(Query, Mutation, TypeDefs, resolvers )
CRUD 요청, 응답을 더 효과적으로 처리할 수 있게 해주는 API (연결다리)
스키마를 통해 사용자만의 명령어를 만들고 사용할 수 있다.
번들 크기가 줄어 클라이언트 속도가 빠르다.
아폴로 스튜디오를 이용해 작성한 코드를 쉽게 테스팅 해볼 수 있다.
GraphQL은 필요한 정보만 선택해서 가져올 수 있다.
REST API는 필요한 정보를 가져오기위해서, 쓸데없는 정보도 같이 가져와야하는 Over-fetching 문제가 있다.
GraphQL은 하나의 요청으로 여러개의 데이터를 한번에 가져올 수 있다.
REST API는 여러개의 데이터를 가져오려면, 여러개의 요청이 필요하는 Under-fetching 문제가 있다.
GraphQL이 적용된 프로젝트를 쉽게 만들 수 있게 해주는 Node.js 패키지
ApolloServer : GraphQL이 적용된 서버를 쉽게 만들어줌
ApolloClient : GraphQL을 통해, 클라이언트상의 LocalState를 이용할 수 있게 만들어줌