GraphQL에 대한 정보
서버와 서버 혹은 클라이언트와 서버가 데이터를 주고 받는 형식의 한 종류로 REST API와 GraphQL가 있다.
REST API의 단점 중에서 Overfeching과 Underfetching을 극복할 수 있는 형식이 GraphQL이다.
1. Overfetching : 불필요한 정보들까지 모두 받게 되는 문제
2. Underfetching : 여러 종류의 정보를 받기 위해서는 한 번의 요청으로는 받을 수 없는 문제
게다가 GraplQL은 하나의 endpoint(URI)에서 (POST로) 모든 요청을 처리할 수 있다는 장점도 있다.
하지만 GraphQL이 만능은 아니고! REST API와 GraphQL은 서로 다른 장단점이 있으므로 두 형식을 잘 이해하고, 상황에 맞게 더 적절한 것을 사용하는 것이 좋다.
Apollo에 대한 정보
GraphQL 공식 페이지에 가보면 GraphQL을 쉽게 다룰 수 있는 라이브러리들이 소개되어 있다.
그 중에 Server와 Client 둘 다 제공되며, 가장 많이 사용되는 라이브러리 중 하나가 Apollo라는 것을 알 수 있다.
https://graphql.org/code/
Apollo 공식 페이지에서는 친절한 document와 다양한 tutorial을 볼 수 있다.
https://www.apollographql.com/docs/