REST API (Representational State Transfer Application Programming Interface) ist der am weitesten verbreitete Architekturstil für Web-APIs. REST definiert klare Prinzipien für die Kommunikation zwischen Client und Server über das HTTP-Protokoll.
Die REST-Prinzipien
Zustandslosigkeit (Stateless)
Jede Anfrage an eine REST API enthält alle Informationen, die der Server zur Verarbeitung benötigt. Der Server speichert keinen Client-Zustand zwischen Anfragen. Das macht REST APIs skalierbar und zuverlässig.
Einheitliche Schnittstelle
REST nutzt standardisierte HTTP-Methoden und URLs (Endpunkte). Eine URL identifiziert eine Ressource, die HTTP-Methode bestimmt die Aktion:
- GET
/api/projekte– Alle Projekte abrufen - GET
/api/projekte/42– Ein bestimmtes Projekt abrufen - POST
/api/projekte– Neues Projekt erstellen - PUT
/api/projekte/42– Projekt aktualisieren - DELETE
/api/projekte/42– Projekt löschen
Client-Server-Trennung
Client (Frontend) und Server (Backend) sind vollständig entkoppelt. Der Client muss nichts über die Server-Implementierung wissen – nur über die API-Endpunkte. Das ermöglicht unabhängige Entwicklung und flexiblen Austausch beider Seiten.
REST APIs in der Praxis
In der modernen Webentwicklung sind REST APIs allgegenwärtig. Nahezu jeder Webdienst – von sozialen Netzwerken über Zahlungsanbieter bis zu Content-Management-Systemen – stellt eine REST API bereit.
Einsatz mit Headless CMS
Headless CMS-Systeme liefern Inhalte ausschließlich über REST APIs (oder GraphQL). Das Frontend – ob Website, App oder Display – ruft die Inhalte ab und stellt sie dar. Diese Trennung ist ein Kernprinzip der Jamstack-Architektur.
Integration in Next.js
Next.js bietet mit Route Handlers die Möglichkeit, REST API-Endpunkte direkt im Projekt zu definieren. So lassen sich Formulardaten verarbeiten, Datenbankzugriffe durchführen oder externe APIs aggregieren – alles Serverless und ohne eigenen Backend-Server.
Datenformate
REST APIs nutzen meist JSON (JavaScript Object Notation) als Datenformat. JSON ist leichtgewichtig, für Menschen lesbar und wird von allen modernen Programmiersprachen unterstützt. Seltener kommen XML oder Protocol Buffers zum Einsatz.
Authentifizierung und Sicherheit
REST APIs werden typischerweise durch API-Keys, OAuth 2.0 oder JWT (JSON Web Tokens) geschützt. HTTPS-Verschlüsselung über ein SSL-Zertifikat ist Pflicht, um Daten während der Übertragung zu schützen.
REST vs. GraphQL
Während REST feste Endpunkte mit vordefinierten Datenstrukturen bietet, erlaubt GraphQL flexible Abfragen. REST ist einfacher zu implementieren und zu cachen, GraphQL bietet mehr Flexibilität bei komplexen Datenabfragen. Beide Ansätze haben ihre Berechtigung – die Wahl hängt vom Projektkontext ab.