Persisted Queries
Verwende GraphQL-queries, um vordefinierte Endpunkte wie in REST zu erstellen und die Vorteile beider APIs zu nutzen.

Click to watch tutorial video - 08:19
Bei einer REST API erstellen wir mehrere Endpunkte, von denen jeder einen vordefinierten Datensatz zurückgibt. Bei einer GraphQL API hingegen senden wir eine beliebige Abfrage an einen einzigen Endpunkt, der genau die angeforderten Daten zurückgibt.
Persisted queries sind normale GraphQL-queries, die jedoch auf dem Server gespeichert und über eine eigene URL aufgerufen werden, sodass sie einen REST-Endpunkt emulieren. Sie bieten die Vorteile beider APIs und vermeiden deren Nachteile:
| Vorteile | Nachteile |
|---|---|
✅ Aufrufbar über GET oder POST | POST aufrufbar |
| ✅ Kann auf dem Server oder einem CDN gecacht werden | |
| ✅ Sicher: Es werden nur die vorgesehenen Daten preisgegeben | |
| ✅ Kein Under- oder Over-Fetching von Daten – alle Daten werden in einer einzigen Anfrage abgerufen | |
| ✅ Ermöglicht eine schnelle Iteration des Projekts | |
| ✅ Kann selbst-dokumentierend sein | |
| ✅ Ermöglicht es Clients, die Query zu erstellen und zu veröffentlichen |

Sobald die Persisted Query veröffentlicht ist, kann sie über ihren Permalink ausgeführt werden.
Die Persisted Query kann über den GraphiQL-Client oder auch direkt im Browser ausgeführt werden (da sie über GET aufgerufen wird), und wir erhalten die angeforderten Daten im JSON-Format:

Persisted queries können über Kategorien und Hierarchien verwaltet werden.
