REST API
Eine REST API ist eine Programmierschnittstelle, die den Prinzipien der Representational State Transfer (REST) Architektur folgt und Ressourcen über HTTP-Methoden wie GET, POST oder DELETE ansprechbar macht.
Kurz erklärt
REST wurde 2000 von Roy Fielding beschrieben und definiert eine Reihe von Architekturprinzipien: Ressourcen werden über eindeutige URLs adressiert, Zustandslosigkeit zwischen einzelnen Anfragen wird vorausgesetzt, und Standard-HTTP-Methoden bekommen eine klare Bedeutung - GET zum Lesen, POST zum Erstellen, PUT/PATCH zum Aktualisieren, DELETE zum Löschen einer Ressource.
Beispiel
Eine REST API für einen Blog könnte GET /articles zum Abrufen aller Artikel, GET /articles/42 für einen einzelnen Artikel, POST /articles zum Anlegen eines neuen Artikels und DELETE /articles/42 zum Löschen anbieten - jede Ressource ist konsistent über ihre URL adressierbar.
Warum ist das relevant?
REST APIs sind seit Jahren der De-facto-Standard für Web-Schnittstellen und werden von einem Großteil aller SaaS-Produkte, mobilen Apps und Integrationen genutzt. Ihre Verbreitung liegt auch daran, dass sie sich eng an bestehende HTTP-Semantik anlehnen und dadurch mit vorhandener Web-Infrastruktur (Caching, Proxys, Statuscodes) gut zusammenarbeiten.
Häufige Missverständnisse
Nicht jede API, die über HTTP läuft, ist automatisch “REST” im strengen Sinn - viele als REST bezeichnete APIs erfüllen nicht alle von Fielding definierten Constraints (etwa HATEOAS) und sind eher pragmatisch HTTP-basierte JSON-APIs. Das ist in der Praxis meist unproblematisch, sollte aber bei akademischen Diskussionen über “echtes REST” bewusst sein.