Persisted Queries
Usa le query GraphQL per creare endpoint predefiniti come in REST, ottenendo i vantaggi di entrambe le API.

Click to watch tutorial video - 08:19
In un'API REST, creiamo più endpoint, ognuno dei quali restituisce un insieme predefinito di dati. In un'API GraphQL, al contrario, inviamo qualsiasi query a un unico endpoint, che restituisce esattamente i dati richiesti.
Le persisted queries sono normali query GraphQL, tuttavia vengono memorizzate sul server e accessibili tramite il proprio URL, emulando così un endpoint REST. Offrono i vantaggi di queste due API, evitandone gli svantaggi:
| Vantaggi | Svantaggi |
|---|---|
✅ Accessibile tramite GET o POST | POST |
| ✅ Può essere memorizzata nella cache sul server o su un CDN | |
| ✅ È sicura: vengono esposti solo i dati previsti | |
| ✅ Nessun recupero eccessivo o insufficiente di dati, tutti i dati vengono recuperati in una singola richiesta | |
| ✅ Consente un'iterazione rapida del progetto | |
| ✅ Può essere auto-documentata | |
| ✅ Fornisce ai client la possibilità di creare e pubblicare la query |

Una volta pubblicata la persisted query, possiamo eseguirla tramite il suo permalink.
La persisted query può essere eseguita tramite il client GraphiQL, o anche direttamente nel browser (poiché è accessibile tramite GET), e otterremo i dati richiesti in formato JSON:

Le persisted queries possono essere gestite tramite categorie e gerarchie.
