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.
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.
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.
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.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert