SQL이 데이터베이스 시스템으로부터 데이터를 가져오는 목적을 가진다면,
GraphQL은 클라이언트가 데이터를 서버로부터 가져오는 것을 목적으로 한다.
REST API로는 3개의 데이터를 가져오기 위해 13개의 불필요한 데이터까지 함께 가져와야 했지만,
GraphQL은 클라이언트에서 필요한대로 쿼리를 작성해 원하는 데이터만을 가져올 수 있다.
GraphQL은 클라이언트와 서버 간의 상호작용을 최적화하고, 데이터 전송량을 줄여 성능을 개선하는 데에도 도움
GraphQL은 Facebook에서 개발한 데이터 질의 언어로, API의 효율적인 데이터 요청과 관리를 위해 개발되었습니다.
고정된 요청과 응답만 필요할 때에는 query로 인해 요청의 크기가 Restful보다 커질 수 있다.
캐싱이 REST보다 복잡하다. 파일 업로드 구현 방법이 정해져있지 않아 직접 구현해야 한다.
REST가 가지는 한계 때문에 개발된 GraphQL이지만, GraphQL이 완벽하게 REST를 대체 할 수는 없다.
REST에 더 적합한 서비스에는 REST가 사용되는 것이 바람직하므로,
GraphQL과 REST의 장단점을 파악해 서비스에 맞는 방식을 고르는 것이 중요하다.