
GraphQL trabalha com um sistema de tipos, onde pode-se criar um Schema para sua API, permitindo assim, além obter uma validação das consultas feitas pela aplicação Client, saber exatamente o que pode ser requisitado, e também entregar “somente” o que foi requisitado, otimizando o que é chamado de Over Fetching (sobrecarga) de dados, um grande problema em API’s REST.
Também resolve o problema de Under Fetching (falta) de dados. Seguindo o padão REST, para buscar a lista de posts e seguidores de um usuário, seriam necessárias 3 requisições, com GraphQL bastaria apenas uma!