GraphQL은 SQL(Structed Query Language)와 마찬가지로 쿼리 언어입니다.
SQL이 데이터베이스에서 저장된 데이터를 효율적으로 가져오는 것이 목적이라면 GraphQL은 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 것이 목적입니다.
Rest API는 다양한 endpoint가 존재합니다. 반면 GraphQL같은 경우에는 단 하나의 endpoint가 존재하고 가져오는 데이터를 쿼리의 조합을 통해서 결정을 합니다.
REST API는 1:1의 관계이고 GraphQL은 1:n의 관계라고 생각할 수 있습니다.
즉 GrpahQL을 사용하면 필요한 데이터만을 선택해서 가져오는 구조이기 때문에 좀 더 쉽고 효율적으로 데이터를 가져올 수 있습니다.