Logo

Funcionalidade:

Persisted queries

Persisted queries

Em uma API REST, criamos múltiplos endpoints, cada um retornando um conjunto predefinido de dados. Em uma API GraphQL, ao contrário, enviamos qualquer query a um único endpoint, que retorna exatamente os dados solicitados.

As persisted queries são queries GraphQL normais; porém, são armazenadas no servidor e acessadas pela própria URL, emulando assim um endpoint REST. Elas combinam as vantagens dessas duas APIs evitando ao mesmo tempo as suas desvantagens:

VantagensDesvantagens
✅ Acessada via GET ou POST❌ Acessada apenas via POST
✅ Pode ser armazenada em cache no servidor ou em um CDN❌ Exige uma camada extra no lado do cliente apenas para cache
✅ É segura: somente os dados pretendidos são expostos❌ Os dados ficam expostos a qualquer pessoa, incluindo agentes maliciosos
✅ Sem excesso ou falta de dados — todos os dados são recuperados em uma única requisição❌ Pode ser lenta, pois a aplicação pode precisar de várias requisições para recuperar todos os dados
✅ Permite iteração rápida do projeto❌ É tedioso criar todos os endpoints
✅ Pode ser autodocumentada❌ Produzir documentação é obrigatório
✅ Oferece aos clientes a possibilidade de criar e publicar a query❌ A publicação de endpoints é feita via código
Persisted query no editor
Persisted query no editor

Assine nossa newsletter

Fique por dentro de todas as atualizações do Gato GraphQL.