Eine REST-API ist eine Programmierschnittstelle, die Daten als Ressourcen unter festen Adressen anbietet. Gelesen, angelegt, geändert und gelöscht wird über die Methoden von HTTP, und die Antworten kommen meist als JSON.
- REST-API
Eine Schnittstelle nach den Grundsätzen von REST, bei der jede Ressource eine eigene Adresse hat und über HTTP-Methoden bearbeitet wird.
Beispiel: „Die Termine kommen über die REST-API des Buchungssystems auf die Website, unter /api/termine als Liste im JSON-Format.“Auch: RESTful API. REST steht für Representational State Transfer, ein Architekturstil, den Roy Fielding im Jahr 2000 in seiner Doktorarbeit beschrieben hat.
Abgrenzung zu GraphQL: Bei REST bestimmt die Schnittstelle, welche Felder eine Antwort enthält. Bei GraphQL bestimmt das der Aufrufer.
Wie eine REST-API aufgebaut ist
Jede Art von Daten bekommt eine Adresse, etwa /kunden für alle Kunden und /kunden/42 für einen bestimmten. Was mit den Daten passiert, legt die HTTP-Methode fest: GET liest, POST legt an, PUT oder PATCH ändert, DELETE löscht.
Ob etwas geklappt hat, sagt der Statuscode der Antwort, 200 für Erfolg, 201 für einen angelegten Datensatz, 404 für eine Ressource, die es nicht gibt.
Was eine gute REST-API ausmacht
Vorhersehbarkeit. Adressen folgen einem festen Muster, Fehler kommen in einheitlicher Form zurück, und lange Listen werden in Seiten aufgeteilt. Wer einen Teil der Schnittstelle kennt, kann den Rest erraten.
Dazu gehören eine Dokumentation, eine Versionsnummer in der Adresse oder im Header und eine Anmeldung, meist über einen API-Key oder OAuth.
Wo REST-APIs eingesetzt werden
Fast überall, wo Systeme Daten austauschen. CMS liefern Inhalte über REST an Apps und Frontends, Shops an Warenwirtschaften, Zahlungsanbieter an Kassen. Auch WordPress und Statamic bringen eine REST-API mit.
Für eine Website heißt das: Formulare, Buchungen und Produktdaten lassen sich an fast jedes Fremdsystem anbinden, solange es eine REST-API anbietet.