Zurück zur Übersicht

Begriff

GraphQL

API Web Development S3
2 Quellen 1 Lernpfad 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

In REST APIs (der Standard) bestellst du Menüs. Endpoint /user: Du bekommst Name, Alter, Adresse, Schuhgröße. Was, wenn du nur den Namen willst? Pech, du kriegst alles (Over-Fetching). Was, wenn du auch noch die Freunde des Users willst? Musst du einen zweiten Request an /user/friends machen (Under-Fetching). GraphQL ist wie ein Buffet. Du sagst dem Server exakt, was du willst: { user { name, friends { name } } } Der Server gibt dir exakt dieses JSON zurück. Nicht mehr, nicht weniger. Ein Request für alles.

Merksatz: Eine Abfragesprache für APIs, die es dem Client ermöglicht, genau die Daten anzufordern, die er benötigt, und Probleme wie Over- und Under-Fetching löst.


Quick-Check

  1. Ist REST tot?
    Nein. REST ist simpler, besser cachebar und robuster für einfache Dinge. Öffentliche APIs sind oft noch REST. Komplexe interne Apps (Facebook) sind GraphQL.
  2. Kann man files uploaden?
    Schwierig. GraphQL Standard sieht das nicht vor. Man muss Tricks nutzen (Multipart Request) oder das separat machen.
  3. Wer validiert die Daten?
    Das Schema. Wenn du einen String schickst, wo ein Int erwartet wird, lehnt GraphQL ab, bevor dein Code überhaupt läuft. Strong Typing!