GraphQL ist eine Abfragesprache für APIs, die 2015 von Facebook entwickelt wurde. Anders als bei REST ruft der Client genau die Felder ab, die er braucht — in einer einzigen Anfrage.
Grundstruktur einer Query
query {
user(id: 42) {
name
email
}
}
Eine Mutation verändert Daten, eine Subscription empfängt Live-Updates:
mutation { createUser(name: "Anna") { id } }
subscription { newMessage { text } }
Schema und Typen
type User {
id: ID!
name: String!
email: String
}
Ausrufezeichen (!) bedeutet: Feld ist Pflicht. ID, String, Int, Float, Boolean sind die eingebauten Skalartypen.
Variablen und Aliase
query GetUser($id: ID!) {
user(id: $id) { name }
}
Praxis-Tipps
- Ein Endpunkt (z.B.
/graphql), eine POST-Anfrage — kein Overfetching und kein Underfetching. - Zum Testen eignen sich Tools wie GraphiQL oder Altair.
- Fehler kommen als
errors-Array in der Antwort, nicht als HTTP-Statuscode.
Verwandte Grundlagen: SQL-Befehle und Python-Befehle.