Logo

Funktion:

Persisted queries

Persisted queries

In einer REST-API erstellen wir mehrere Endpunkte, von denen jeder einen vordefinierten Datensatz zurückgibt. In einer GraphQL-API hingegen senden wir beliebige queries 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 ihre eigene URL aufgerufen werden, wodurch sie einen REST-Endpunkt emulieren. Sie vereinen die Vorteile beider APIs und vermeiden gleichzeitig deren Nachteile:

VorteileNachteile
✅ Aufrufbar über GET oder POST❌ Nur über POST aufrufbar
✅ Kann auf dem Server oder einem CDN gecacht werden❌ Erfordert eine zusätzliche Schicht auf der Client-Seite nur für das Caching
✅ Sicher: Es werden nur die vorgesehenen Daten offengelegt❌ Daten sind für jeden zugänglich, auch für böswillige Akteure
✅ Kein Over- oder Under-Fetching von Daten, alle Daten werden in einer einzigen Anfrage abgerufen❌ Kann langsam sein, da die Anwendung möglicherweise mehrere Anfragen benötigt, um alle Daten abzurufen
✅ Ermöglicht eine schnelle Iteration des Projekts❌ Das Erstellen aller Endpunkte ist mühsam
✅ Kann selbst-dokumentierend sein❌ Das Erstellen von Dokumentation ist obligatorisch
✅ Ermöglicht es Clients, die query zu erstellen und zu veröffentlichen❌ Das Veröffentlichen von Endpunkten erfolgt über Code
Persisted query im Editor
Persisted query im Editor

Abonniere unseren Newsletter

Bleib über alle Updates zu Gato GraphQL auf dem Laufenden.