PAKU Media
StartseiteLeistungenPortfolioÜber unsBlogKontakt
PAKU Media

Kreativagentur aus Bielefeld für Webdesign, Videografie und Social Media — seit 2022.

Partner

Navigation

  • ›Startseite
  • ›Leistungen
  • ›Portfolio
  • ›Über uns
  • ›Branchen
  • ›Blog
  • ›Kontakt

Leistungen

  • ›Webdesign
  • ›Videografie
  • ›Social Media Ads
  • ›App Design
  • ›Lexikon
  • ›Tools

Kontakt

Pamuk und Kuscu GbR

Friedhofstraße 171
33659 Bielefeld

hello@pakumedia.de

0521 98 99 40 99

PAKU.Media

© 2026 PAKU Media. Alle Rechte vorbehalten.

ImpressumDatenschutzAGBLexikonToolsSitemap
Home/Lexikon/GraphQL
Technik

GraphQL

Zuletzt aktualisiert: 2026-03-31

GraphQL ist eine Abfragesprache fuer APIs und eine serverseitige Runtime zur Ausfuehrung dieser Abfragen. Im Gegensatz zu traditionellen REST APIs, bei denen der Server die Struktur der Antwort bestimmt, gibt GraphQL dem Client die Kontrolle: Er fragt exakt die Daten ab, die er benoetigt.

GraphQL wurde 2012 bei Facebook entwickelt, um die Performance der mobilen App zu verbessern. Die bestehende REST-API lieferte entweder zu viele oder zu wenige Daten -- ein Problem, das GraphQL elegant loest. 2015 wurde es als Open Source veroeffentlicht und hat seitdem die Art und Weise veraendert, wie APIs designt werden.

Das Grundprinzip: Client bestimmt die Daten

Over-Fetching und Under-Fetching

Das zentrale Problem, das GraphQL loest:

ProblemRESTGraphQL
Over-Fetching/users/1 liefert alle 30 Felder, obwohl nur Name und E-Mail benoetigt werdenClient fragt nur name und email ab
Under-FetchingFuer Profil + Posts + Kommentare sind 3 API-Calls noetigEin einziger Query holt alle zusammenhaengenden Daten

Eine Query, alle Daten

Ein GraphQL-Query fuer eine Profilseite koennte so aussehen:

query {
  user(id: "1") {
    name
    email
    posts(last: 5) {
      title
      createdAt
      comments {
        text
        author { name }
      }
    }
  }
}

Statt drei REST-Calls (/users/1, /users/1/posts, /posts/X/comments) erhaelt der Client mit einer einzigen Anfrage genau die Daten, die er fuer die Darstellung braucht.

Kernkonzepte von GraphQL

Schema und Types

Das GraphQL-Schema definiert die verfuegbaren Daten und deren Struktur. Es ist gleichzeitig Dokumentation und Vertrag zwischen Client und Server.

Queries (Lesen)

Queries dienen dem Abrufen von Daten. Der Client definiert die Struktur der gewuenschten Antwort, der Server fuellt sie mit Daten.

Mutations (Schreiben)

Mutations aendern Daten auf dem Server -- das Aequivalent zu POST, PUT und DELETE in REST.

Subscriptions (Echtzeit)

Subscriptions ermoglichen Echtzeit-Updates: Der Client abonniert bestimmte Ereignisse und wird automatisch benachrichtigt, wenn sich Daten aendern.

Resolvers

Resolver-Funktionen auf dem Server bestimmen, woher die Daten fuer jedes Feld kommen -- aus einer Datenbank, einem anderen Service oder einer externen API.

GraphQL vs. REST

KriteriumRESTGraphQL
EndpunkteMehrere (ein Endpunkt pro Ressource)Einer (/graphql)
DatenmengeVom Server bestimmtVom Client bestimmt
VersionierungURL-basiert (/api/v2/)Nicht noetig (Schema-Evolution)
CachingHTTP-Caching einfachKomplexer (POST-Requests)
LernkurveNiedrigMittel
ToolingAusgereiftStark wachsend (Apollo, Relay)
FehlermanagementHTTP-StatuscodesImmer 200 OK, Fehler im Body

GraphQL im Webentwicklungs-Oekosystem

Headless CMS mit GraphQL

Viele moderne Headless CMS-Systeme bieten GraphQL-APIs an:

  • Contentful: GraphQL-API als Alternative zur REST-API
  • Hygraph (ehemals GraphCMS): GraphQL-native, kein REST
  • Strapi: GraphQL-Plugin verfuegbar
  • Sanity: GROQ als eigene Query-Sprache, GraphQL als Alternative

GraphQL mit React und Next.js

In React- und Next.js-Anwendungen hat sich Apollo Client als beliebteste GraphQL-Client-Library etabliert. Alternativen sind urql und Relay (Facebooks eigene Library).

GraphQL Federation

Fuer Microservices-Architekturen ermoeglicht Apollo Federation die Kombination mehrerer GraphQL-APIs zu einem einzigen, vereinheitlichten Schema. Jeder Service definiert seinen Teil des Schemas, und das Gateway fuegt sie zusammen.

Herausforderungen von GraphQL

Caching

Da alle GraphQL-Anfragen als POST an denselben Endpunkt gehen, funktioniert klassisches HTTP-Caching nicht. Client-seitige Caching-Loesungen (Apollo Cache, Normalized Cache) loesen das Problem, erhoehen aber die Komplexitaet.

N+1-Problem

Wenn ein Resolver fuer jedes Element in einer Liste einen eigenen Datenbankaufruf macht, entstehen N+1 Queries. DataLoader (ein Pattern/Tool von Facebook) loest dieses Problem durch Batching.

Sicherheit

GraphQL erlaubt beliebig tiefe und komplexe Queries. Ohne Begrenzung kann ein boesartiger Client den Server mit einer extrem verschachtelten Query ueberlasten. Query Depth Limiting, Complexity Analysis und Rate Limiting sind Pflicht.

Wann GraphQL einsetzen?

GraphQL ist die richtige Wahl fuer Projekte mit komplexen Datenbeziehungen, mehreren Client-Typen und dem Beduerfnis nach flexibler Datenabfrage. Fuer einfache CRUD-APIs mit wenigen Clients ist eine REST API oft einfacher und ausreichend.

←Zurück zum Lexikon

Projekt anfragen

Fragen zu GraphQL? Wir helfen gerne.

Unser Team berät Sie kostenlos und unverbindlich — direkt aus Bielefeld.

Kontakt aufnehmen→
FAQ's

Häufige Fragen zu GraphQL.

Die wichtigsten Antworten auf einen Blick – kompakt und verständlich.

Weiter lernen

Verwandte Begriffe.

Zum Lexikon →
01Webentwicklung

API / Schnittstelle

Was ist eine API? Definition, Funktionsweise von Schnittstellen in der Webentwicklung und praktische Beispiele.

Definition lesen→
02Webentwicklung

REST API

Was ist eine REST API? Definition, HTTP-Methoden, Prinzipien und Einsatz in der modernen Webentwicklung erklärt.

Definition lesen→
03Webentwicklung

Headless CMS

Was ist ein Headless CMS? Definition, Vorteile gegenüber klassischen CMS wie WordPress und Einsatz in modernen Webprojekten.

Definition lesen→
04Webentwicklung

Next.js

Was ist Next.js? Definition, Funktionen wie SSR und SSG, Vorteile für Webentwicklung und SEO einfach erklärt.

Definition lesen→
05Webentwicklung

React

Was ist React? Definition, Vorteile der komponentenbasierten UI-Bibliothek und Einsatz in modernen Webprojekten.

Definition lesen→