consulta de dados ➔ Não é um protocolo para APIs, mas funciona como um ➔ Agnóstico: independe de linguagem ou banco de dados ➔ É uma spec! Protocolo para APIs? Padrão arquitetural?
tipado - o REST é schemaless, não tem contrato) 3. No more overfetching 4. No more underfetching (vários endpoints para uma feature) Conceitos fundamentais do GraphQL
retorna o Schema • Legibilidade da API: sem “salada” de URLs • Menos tráfego de dados no cliente: payload menor • Tempo de desenvolvimento do back-end focado em regras de negócio e qualidade, e não em “ajudar” o front-end Problemas comuns que o GraphQL resolve
value String: A UTF‐8 character sequence Boolean: True ou false ID: Unique identifier (não legível para humanos) Tipos primitivos Tipos e schema Enum, custom scalar, listas e non-null
times e projetos? ★ Nada impede o dev de escrever (é até fácil) uma query com potencial destrutivo para sua app (ex.: sem paginação) ★ HTTP Cache comprometido GraphQL não é bala de prata