Zum Inhalt springen

GraphQL

GraphQL lässt Anwendungen Felder über ein typisiertes API-Schema anfragen. Der Server bleibt für Datenzugriff und Berechtigungen verantwortlich.

API und Datenverträge

Die benötigten Felder einer API auswählen

GraphQL ist eine Abfragesprache für APIs mit Regeln für deren serverseitige Ausführung. Ein typisiertes Schema legt fest, welche Daten und Operationen angeboten werden. Die Anwendung wählt daraus die benötigten Felder aus. GraphQL setzt dabei keine bestimmte Datenbank voraus.

Ein fiktives Softwareunternehmen plant ein Kundenportal. Die Auswahl { project(id: "P-42") { name } } fordert den Namen eines Projekts an, sofern das eigene Schema diese Felder und das Argument anbietet. Dieses erfundene Beispiel ist keine Abfrage eines vorhandenen Dienstes. Die Serverimplementierung muss die Daten beschaffen und entscheiden, ob die anfragende Person sie sehen darf. Ein schemakonformer Aufruf allein erteilt keine Zugriffsrechte; das interne Feld internalRate soll für Kunden auch dann gesperrt bleiben, wenn sie es ausdrücklich anfragen.

Für das Portal sind damit sowohl die angebotenen Felder als auch ihre Zugriffsregeln festzulegen. Die Feldauswahl hilft bei unterschiedlichen Datenbedürfnissen von Ansichten; tatsächliche Antwortzeiten und Datenbankarbeit müssen an der Implementierung geprüft werden.

Quellen