Das REST (Representational State Transfer) ist ein Architekturstil für verteilte Systeme, ursprünglich beschrieben von Roy Fielding in seiner Dissertation. Eine REST-API bildet die Anwendung als Sammlung von Ressourcen ab, die über stabile URLs adressiert und mit den Standardmethoden von HTTP verändert werden.

REST ist kein Protokoll und kein Framework, sondern eine Reihe von Prinzipien. Die meisten heute „REST" genannten APIs erfüllen diese Prinzipien nur teilweise — entscheidend ist die Grundlogik: Ressourcen, Methoden und Repräsentationen.

Grundprinzipien

REST stützt sich auf einige zentrale Ideen:

  • Ressourcen — alles, worauf zugegriffen wird, ist eine Ressource und hat eine eigene URL.
  • HTTP-Methoden als Verben — GET liest, POST erzeugt, PUT ersetzt, PATCH ändert, DELETE entfernt.
  • Statuscodes geben das Ergebnis maschinenlesbar wieder.
  • Repräsentationen — eine Ressource kann in verschiedenen Formaten ausgeliefert werden (JSON, XML, HTML), gesteuert über Header wie Accept.
  • Zustandslosigkeit — jeder Request enthält alle nötigen Informationen; der Server hält keinen Sitzungszustand pro Client.
  • Cachebarkeit — Antworten geben über Header an, ob und wie lange sie zwischengespeichert werden dürfen.

Beispiel-Aufrufe

HTTP
GET    /artikel              → Liste aller Artikel
GET    /artikel/42           → Einzelner Artikel
POST   /artikel              → Neuen Artikel erzeugen
PUT    /artikel/42           → Artikel ersetzen
PATCH  /artikel/42           → Artikel teilweise ändern
DELETE /artikel/42           → Artikel löschen

Auffallend: Die URL beschreibt was, die Methode welche Operation. Verben gehören nicht in den Pfad — /artikel/42/loeschen ist nicht REST-konform.

Reifegrad

Das Richardson Maturity Model unterscheidet vier Stufen:

  • Level 0 — eine einzige URL, alles per POST.
  • Level 1 — getrennte URLs pro Ressource.
  • Level 2 — korrekter Einsatz von HTTP-Methoden und Statuscodes.
  • Level 3HATEOAS: Antworten enthalten Links auf weitere Aktionen, der Client navigiert dynamisch.

Die meisten produktiven REST-APIs liegen auf Level 2 — pragmatisch genug, um nützlich zu sein, ohne die volle theoretische Strenge.

/ Weiter

Zurück zu IT

Zur Übersicht