Eine REST-API ist eine verbreitete Art, eine Web-API rund um Ressourcen wie Nutzer, Aufgaben oder Bestellungen zu entwerfen. Jede Ressource erhält eine URL, und HTTP-Methoden wie GET, POST, PATCH und DELETE teilen dem Server mit, was der Client tun möchte.

REST steht für Representational State Transfer. In der Praxis sendet ein Client eine HTTP-Anfrage, der Server liefert eine Darstellung einer Ressource zurück, und jede Anfrage sollte für sich allein verständlich sein. Viele REST-APIs geben JSON zurück, aber JSON allein macht eine API noch nicht REST-konform.

Bedeutung von REST-API: Denke in Ressourcen

Der schnellste Weg, REST zu verstehen, ist, in Substantiven statt in Verben zu denken.

Wenn dein System Aufgaben, Schüler und Versuche enthält, können das Ressourcen sein. Eine ressourcenorientierte API verwendet meist URLs wie /api/problems/42 oder /api/attempts/9001.

Die HTTP-Methode sagt dir dann, welche Art von Operation stattfindet:

  • GET liest eine Ressource
  • POST erstellt eine neue Ressource
  • PUT ersetzt eine Ressource
  • PATCH aktualisiert einen Teil einer Ressource
  • DELETE entfernt eine Ressource

Diese Trennung macht REST leicht lesbar. Die URL sagt, womit du arbeitest. Die Methode sagt, was du tun willst.

So funktioniert eine REST-API-Anfrage

In einem typischen Ablauf sendet ein Browser, eine mobile App oder ein anderer Dienst eine Anfrage an einen Server. Die Anfrage enthält eine URL, eine HTTP-Methode, optionale Header und manchmal einen Body.

Der Server liest die Anfrage, führt die Aktion aus und sendet eine Antwort zurück. Diese Antwort enthält meist einen Statuscode wie 200 OK, 201 Created oder 404 Not Found sowie Daten, die das Ergebnis beschreiben.

Eine wichtige Bedingung ist die Zustandslosigkeit. Bei REST sollte jede Anfrage den Kontext enthalten, der für genau diese Anfrage nötig ist. Das bedeutet nicht, dass der Server keine Daten speichert. Es bedeutet, dass der Server keinen versteckten Gesprächszustand aus früheren Anfragen brauchen sollte, um die aktuelle Anfrage zu verstehen.

REST-API-Beispiel: Eine Mathe-Übungs-App

Angenommen, eine Mathe-Übungs-App speichert Algebra-Aufgaben und Lösungsversuche von Schülern.

Um Aufgabe 4242 zu lesen, könnte der Client senden:

Brauchst du Hilfe bei einer Aufgabe?

Lade deine Frage hoch und erhalte in Sekunden eine verifizierte Schritt-für-Schritt-Lösung.

GPAI Solver öffnen →