Como funciona

Em vez de vários endpoints fixos, o GraphQL expõe um único endpoint onde o cliente envia uma consulta descrevendo os dados desejados. O servidor responde apenas com esses campos, evitando over-fetching (dados demais) e under-fetching (dados de menos). Suporta também mutações e subscrições em tempo real.

Exemplo prático

Uma tela de perfil precisa do nome e do avatar do usuário. Com REST, o endpoint /usuarios/42 retorna dezenas de campos. Com GraphQL, a consulta pede apenas nome e avatar, e a resposta é mínima, economizando banda.

Para que serve

É útil em aplicativos com muitas telas e necessidades variáveis de dados, como apps mobile e front-ends complexos. Para APIs de IA, pode reduzir tráfego ao pedir apenas os campos relevantes da resposta.

Quando não usar

Para APIs simples com poucos endpoints, REST pode ser mais direto. GraphQL exige mais planejamento de schema e pode aumentar a complexidade do servidor.