Persisted Queries
Utilisez des requêtes GraphQL pour créer des endpoints prédéfinis comme en REST, en obtenant les avantages des deux APIs.

Click to watch tutorial video - 08:19
Dans une API REST, nous créons plusieurs endpoints, chacun retournant un ensemble prédéfini de données. Dans une API GraphQL, en revanche, nous envoyons n'importe quelle requête à un unique endpoint, qui retourne exactement les données demandées.
Les persisted queries sont des requêtes GraphQL normales, mais elles sont stockées sur le serveur et accessibles via leur propre URL, émulant ainsi un endpoint REST. Elles offrent les avantages de ces deux APIs tout en évitant leurs inconvénients :
| Avantages | Inconvénients |
|---|---|
✅ Accessible via GET ou POST | POST |
| ✅ Peut être mise en cache sur le serveur ou un CDN | |
| ✅ C'est sécurisé : seules les données prévues sont exposées | |
| ✅ Pas de sous/sur-récupération de données, toutes les données sont récupérées en une seule requête | |
| ✅ Elle permet une itération rapide du projet | |
| ✅ Elle peut être auto-documentée | |
| ✅ Elle fournit aux clients la possibilité de créer et publier la requête |

Une fois la persisted query publiée, nous pouvons l'exécuter via son permalink.
La persisted query peut être exécutée via le client GraphiQL, ou aussi directement dans le navigateur (puisqu'elle est accessible via GET), et nous obtiendrons les données demandées au format JSON :

Les persisted queries peuvent être gérées via des catégories et des hiérarchies.
