GraphQL

GraphQL ersetzt viele Ressourcen-URLs durch einen einzigen Endpunkt und ein typisiertes Schema. Der Client sendet eine Abfrage, die die Struktur der benötigten Daten beschreibt – diesen Benutzer, seine letzten drei Bestellungen, die Gesamtsumme jeder Bestellung – und erhält genau diese Datenstruktur zurück. Schreibvorgänge sind Mutationen, die auf dieselbe Weise gesendet werden.

So funktioniert es

Der Server prüft jede Abfrage anhand seines Schemas, bevor er sie ausführt, und löst anschließend jedes Feld auf, gegebenenfalls aus verschiedenen Datenquellen. Anfragen werden üblicherweise als POST-Anfragen mit der Abfrage im JSON-Body gesendet. Fehler werden zusammen mit den auflösbaren Daten in einem Fehler-Array protokolliert, typischerweise mit dem HTTP-Statuscode 200 für die gesamte Anfrage.

Das Missverständnis

GraphQL ersetzt HTTP-Statuscodes. Da eine teilweise fehlgeschlagene Abfrage immer noch den Statuscode 200 zurückgibt, entgehen einem Client, der nur den Status prüft, Fehler auf Feldebene vollständig; das Fehler-Array muss bei jeder Antwort untersucht werden. Dieselbe Flexibilität bedeutet auch, dass eine einzelne Abfrage sehr aufwändig sein kann, weshalb Produktionsserver die Tiefe und Komplexität von Abfragen einschränken.

Probieren Sie es hier aus

Mit POST https://funapi.dev/graphql werden Abfragen und Mutationen über die Friends-Charaktere ausgeführt, wobei unter derselben URL ein GraphiQL-Explorer verfügbar ist; die Friends API-Dokumentationsseite führt dies ebenfalls mit POST /graphql im Bereich „Ausprobieren“ aus.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert