Persisted Queries
Use queries GraphQL para criar endpoints pré-definidos como no REST, obtendo os benefícios de ambas as APIs.

Click to watch tutorial video - 08:19
Em uma API REST, criamos múltiplos endpoints, cada um retornando um conjunto pré-definido de dados. Em uma API GraphQL, ao contrário, enviamos qualquer query para 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 por meio de sua própria URL, emulando assim um endpoint REST. Elas oferecem as vantagens dessas duas APIs, evitando suas desvantagens:
| Vantagens | Desvantagens |
|---|---|
✅ Acessível via GET ou POST | POST |
| ✅ Pode ser armazenada em cache no servidor ou em um CDN | |
| ✅ É segura: somente os dados pretendidos são expostos | |
| ✅ Sem busca insuficiente ou excessiva de dados; todos os dados são recuperados em uma única requisição | |
| ✅ Permite iteração rápida do projeto | |
| ✅ Pode ser auto-documentada | |
| ✅ Permite que os clientes criem e publiquem a query |

Após a publicação da persisted query, podemos executá-la por meio de seu permalink.
A persisted query pode ser executada pelo cliente GraphiQL, ou também diretamente no navegador (pois é acessível via GET), e obteremos os dados solicitados no formato JSON:

As persisted queries podem ser gerenciadas por meio de categorias e hierarquias.
