Dies ist eine alte Version des Dokuments!


GraphQL ist eine Abfragesprache für APIs sowie eine Laufzeitumgebung zur Ausführung dieser Abfragen. Sie wurde entwickelt, um Clients eine präzisere und flexiblere Datenabfrage zu ermöglichen als bei vielen klassischen REST-Schnittstellen. Statt mehrere Endpunkte für unterschiedliche Ressourcen bereitzustellen, stellt ein GraphQL-System typischerweise nur einen zentralen Endpunkt bereit, über den Clients genau die Daten anfordern können, die sie benötigen.

Bei GraphQL beschreibt der Client in einer Anfrage die gewünschte Datenstruktur. Der Server liefert daraufhin eine Antwort, die dieser Struktur möglichst genau entspricht. Dadurch können unnötige Datenübertragungen reduziert und mehrere zusammenhängende Informationen in einer einzigen Anfrage abgefragt werden.

Ein wesentliches Merkmal ist, dass nicht der Server starr vorgibt, welche Datenform in einem bestimmten Endpunkt zurückgegeben wird, sondern der Client die Auswahl der Felder steuert.