RESTful API

Was ist eine REST-API?
Das REST- oder RESTful-API-Design wurde von Dr. Roy Fielding in seiner abgeschlossenen Doktorarbeit (2000) an der Universität in Kalifornien definiert.
REST-API steht für „Representational State Transfer – Application Programming Interface“ und beschreibt eine Programmierschnittstelle, die sich an den Paradigmen und Verhalten des World Wide Web (WWW) orientiert. REST definiert einen Ansatz für die Kommunikation zwischen Client und Server und kann daher als Architekturmodell für die Implementation von vernetzten Systemen betrachtet werden.
Über Gateways können verschiedene Applikationen angebunden werden:
- Mobile Applikation
- Desktopanwendung
- Webapplikation
In der nachfolgenden Abbildung ist eine REST-API Architektur dargestellt:

Umsetzung per HTTP
Mit REST kann ein Client eine Ressource unter Verwendung einer eindeutigen URL referenzieren.
Die Schnittstellen werden mit den üblichen vier Methoden realisiert, welche das HTTP-Protokoll zur Verfügung stellt:
HTTP POST | Informationen erstellen (Create) |
HTTP GET | Informationen abfragen (Read) |
HTTP PUT | Informationen aktualisieren (Update) |
HTTP DELETE | Informationen löschen (Delete) |
Die nachfolgende Abbildung veranschaulicht eine HTTP GET-Anfrage:

Merkmale einer REST Anwendung
Der REST Architekturstil kennzeichnet sich mit folgenden Merkmalen.
Client-Server-Modell
Die Kommunikation erfolgt auf Abruf. Der Client ist aktiv und fordert vom passiven Server eine Repräsentation an, bzw. modifiziert eine Ressource.
Einheitliche Schnittstelle
Die Ressourcen (Objekte der Anwendung) besitzen eine ihnen zugeordnete URI, mit der sie adressiert werden können.
Die Repräsentation einer Ressource kann als Dokument vom Client angefordert werden.
Die Repräsentationen können auf weitere Ressourcen verweisen, die ihrerseits wieder Repräsentationen liefern, die wiederum auf Ressourcen verweisen können.
Zustandslosigkeit
Der Server verfolgt keinen Clientstatus (Zustandslos). Jede Anfrage an den Server muss alle Informationen beinhalten, welche zum Interpretieren der Anfrage notwendig sind.
Caching
Caches werden unterstützt. Der Server kann seine Antwort als Cache-fähig oder nicht Cache-fähig kennzeichnen.
Literatur & Links
- [Orientation in Objects] https://www.oio.de/public/xml/rest-webservices.htm, 2019
- [Cloud Computing] https://www.cloudcomputing-insider.de/was-ist-eine-rest-api-a-611116, 2019
- [IT-Talents] https://www.it-talents.de/blog/it-talents/was-ist-rest, 2019
Neueste Kommentare