O que é GraphQL
Linguagem de consulta para APIs
GraphQL é uma linguagem de consulta e ambiente de execução para APIs que permite aos clientes solicitar apenas os dados necessários.
Conceitos principais
- Schema — descrição de tipos de dados e operações
- Queries — leitura de dados
- Mutations — modificação de dados
- Subscriptions — atualizações em tempo real
Vantagens sobre REST
- Flexibilidade — cliente define estrutura de resposta
- Endpoint único — em vez de múltiplos endpoints REST
- Sem over-fetching — recebe apenas campos solicitados
- Tipagem — schema rigoroso com validação
Exemplo de consulta
query {
user(id: "1") {
name
email
posts {
title
}
}
}
Quando usar
Ideal para aplicações com diferentes clientes (web, mobile), relacionamentos de dados complexos e requisitos de performance.