- 19. September 2023
- Entwicklung
Die REST API in ihrer Anwendung
Was ist REST API?
Die REST API ist eine API – ein Application Programming Interface, also eine Anwendungs-Programmierschnittstelle – die gewisse Standards für das Übertragen von Requests setzt, die weltweit erkannt und umgesetzt werden. Roy Fielding erfand sie im Rahmen seiner Doktorarbeit mit dem Namen „Architectural Styles and the Design of Network-based Software Architectures“, um das bis dahin gängige SOAP abzulösen.
Eine API bietet die Möglichkeit, zwischen zwei Schnittstellen zu kommunizieren, um das gewünschte Ergebnis zu liefern. REST API benutzt dabei das HTTP-Protokoll und nicht mehr XML, wie es SOAP vorher benutzt hat.
Wann benutze ich die REST API?
Die REST API benutzt man nur dann, wenn die Übertragungsstruktur auf einer Client-Server-Architektur aufbaut. Das heißt, es gibt einen Sender – einen Client –, der eine Anfrage an einen Server sendet, mit der Intention, Informationen zurückzuerhalten. Ein Client hat dabei die Möglichkeit, dem Server mitzuteilen, was er mit den vorhandenen Dateien anstellen möchte.
Der Server wiederum lagert sämtliche Informationen in Form von Dateien mit unterschiedlichen Formaten. Das können Bilder, Videos, Social-Media-Posts oder andere Ressourcen sein. Dabei sendet der Server nicht die Ursprungs-Datei, sondern antwortet mit einem JSON-Befehl.
Was ist CRUD?
CRUD ist eine Abkürzung, die sich auf die verschiedenen Konzepte der API zur Ausführung von Befehlen bezieht. CRUD steht für die vier Befehle Create, Read, Update und Delete. Dabei sagt der jeweilige Befehl ziemlich genau aus, was er für eine Funktion hat. So können Dateien erstellt, ausgelesen, verändert oder gelöscht werden.
Jede Programmiersprache hat ihre eigenen Bezeichnungen für diese Befehle. Während SQL beispielsweise Insert, Select, Update und Delete verwendet, benutzt das HTTP-Protokoll, das auch von der REST API benutzt wird, die Kommandos POST, GET, PUT und DELETE.
Request und Response
Der Request im Browser
Wenn der Benutzer auf eine bestimmte Seite oder eine Datei zugreifen will, muss er einen bestimmten Befehl dafür eingeben. Im Falle einer HTTP-Anfrage ist das beispielsweise musterpage.com/endpunkt, um eine Webseite mit der entsprechenden Unterseite aufzurufen. Dabei führt der Browser eigentlich den Befehl GET musterpage.com/endpunkt aus, was dazu führt, dass er Daten abgeruft.
Zusätzlich ist es möglich, eine ID festzulegen und diese ebenfalls im Befehl mitzusenden. Ein Authentifizierungs-Code wird unter Umständen benutzt, um sich auf einer Homepage direkt mit den korrekten Zugriffsrechten auszuweisen.
Struktur ist bei der REST API alles
Wenn Du vorhast, eine Website zu planen, solltest Du dabei beachten, dass die Struktur weitestgehend einheitlich ist. Verwendest Du beispielsweise die Adresse musterpage.com/Produkte/ID, so sollten Deine anderen Unterseiten dem gleichen Prinzip folgen. Damit ist gemeint, dass Du in diesem Beispiel stets den Plural des Nomens in der URL verwendest. Gängig ist außerdem, immer Nomen für die Orientierung im Web zu nutzen.
Nachdem der Befehl erfolgreich gesendet ist, gibt der Server mithilfe der API eine Rückmeldung, welches Ergebnis er erreicht hat. Beispielsweise bekommt der Nutzer dann ein bestimmtes Bild angezeigt oder er ruft ein Produkt in einem Online-Shop auf.
Fehlercodes der REST API
Beim Datenverkehr sendet der Server über die API einen Code zurück, mit dem Du herausfindest, ob es zu bestimmten Problemen kam oder alles in Ordnung war. Liegt der Code zwischen 200 und 299, ist der Befehl ohne Umstände durchgeführt worden. Im Bereich 300 bis 399 gibt die REST API die Rückmeldung, dass es Probleme bei der Weiterleitung gab. Von 400 bis 499 – dazu zählt auch die allseits bekannte 404-Seite – gab es einen Konflikt auf der Seite des Clients. Zum Schluss geben die Fehlercodes von 500 bis 599 an, dass es zu Serverschwierigkeiten kam.
Regeln der REST API
Es gibt fünf Grundregeln, nach denen eine Anfrage mit der REST API aufgebaut sein muss. Im Allgemeinen gilt die REST API als verzeihlicher beim Senden eines Befehls als die SOAP API, dennoch muss auf gewisse Dinge geachtet werden.
Regel #1: Client-Server-Modell
Die Struktur der Datenübertragung muss nach dem Client-Server-Modell aufgebaut sein. Das heißt, dass immer ein Sender und ein Empfänger vorhanden sein muss.
Regel #2: Zustandslose Kommunikation
Befehle müssen „stateless“ sein. Dabei müssen alle Informationen innerhalb des Befehls übertragen werden und dürfen nicht unvollständig sein.
Regel #3: Caching
Es muss klar angegeben sein, ob Daten zwischengespeichert werden sollen oder nicht. Sie müssen cachbar oder nicht-cachbar sein.
Regel #4: Einheitliche Schnittstelle
Das Format bei der Übertragung muss einheitlich sein.
Regel #5: Layered System
Die REST API baut auf einer mehrschichtigen, hierarchichen Struktur auf. Dabei kann jede Komponente die direkt angrenzende Schicht sehen.
Unterschied zwischen REST API und SOAP
Das bereits erwähnte SOAP – Abkürzung für das Simple Object Access Protocol – war vorher der Maß aller Dinge bei der Übertragung. Diese Variante hat strenge Regeln, an die man sich halten muss und verzeiht weniger Fehler beim Eingeben eines Befehls.
Statt auf das HTTP-Protokoll zurückzugreifen, benutzt SOAP XML, was als umständlicher zu handhaben gilt. Außerdem benötigt es eine engere Anbindung von Client und Server. REST API besitzt also eine größere Freiheit bei der Formatierung des Befehls, zudem ist es schneller in der Übertragung und benutzt eine geringere Bandbreite.
Die REST API als neuer, flexibler Standard
Die REST API findet inzwischen überall im Netz Anwendung. Seien es Großkonzerne wie Amazon, Facebook oder Google, viele Hersteller greifen auf REST zurück.
- REST API
- Webdesign