Was ist REST-API?

Was ist REST API?

Eine REST-API ist die konventionellste Art von Application Programming Interface im World Wide Web.

Für was steht REST?

RE steht für REpresentational, das S für State und das T für Transfer. Daraus ergibt sich Representational State Transfer. REST ist eine Art Softwarearchitektur, mit der jede Schnittstelle zwischen verschiedenen Systemen beschrieben wird, die HTTP für ihre Kommunikation verwendet. Das REST-Paradigma besagt, dass beim Datentransfer zwischen zwei Klienten keine Information vom Datentransfer-Service selbst einbehalten wird – der Datenverkehr ist einmalig und in sich abgeschlossen. Ein Beispiel: Sie loggen sich bei PayPal mit Ihren Login-Daten ein und werden vom Dienst authentifiziert. Bei Ihrer nächsten Sitzung müssen Sie sich wieder einloggen, weil keine Authentifizierung im vorherigen Login-Vorgang gespeichert wurde.

Wer ist der Client einer REST-API?

Oftmals sind native Apps (Android, iOS), ein Internetbrowser (Google Chrome, Safari, Microsoft Edge, etc.) oder Virtual Assistants wie Alexa oder Google Home Klienten einer REST-API. Natürlich können darüber hinaus Geräte wie ein smarter Heizkörper Clients sein.

Was meint RESTful?

Eine API ist dann RESTful, wenn sie die Normen der API REST Standards einhält.

Was macht eine REST-API aus?

Hauptkennzeichen ist erstens die lose Client-Server-Kopplung: Client und Server brauchen keinen Austausch, der über den der Daten hinausgeht. Heißt konkret: Den Server “interessiert” es nicht, was der Client mit den Daten anfängt. Den Client wiederum “interessiert” es wenig, wie die Server-Implementierung aussieht. 

Zweitens ist eine REST-API sozusagen zustandslos, weil jeder API Call (oder API Aufruf), der beim Server eingeht, unabhängig ist. Für den Zugriff, das Erstellen, der Aktualisierung und dem Löschen von Ressourcen werden – unter Beibehaltung der Aufzählungsreihenfolge – die folgenden HTTP-Verben genutzt: GET, POST, PUT, DELETE. Wenn Sie Informationen auf einer Webseite anfordern, ist das ein GET. Ein POST passiert bspw. dann, wenn Sie Ihre Kontaktdaten im World Wide Web hinterlassen.

Drittens können API Calls gecached werden, sodass dieselbe Ressource nicht einen Mehrfach-Request erfährt.

Viertens ist eine REST-API einheitlich: Jede Ressource muss einen eindeutigen Uniform Resource Identifier haben.

Eine REST-API kann die gleichen Methoden zur Abfrage eines Drittanbieter-Servers nutzen, mit denen auch die Anzeige von Seiteninformationen oder -formularen der gleichen Webseite erfolgt. Aus diesem Grund kann der Drittanbieter-Server über eine vom API-Editor bereitgestellte URL abgefragt werden.

Eine API ist nicht einseitig

Wo eine Anfrage in der Form eines API Calls, dort auch eine Antwort. Die Antwort erfolgt in einer der beiden spezifischen Rückgabeformate JSON oder XML. Unter Umständen kann die API-Entwicklung so vorgenommen worden sein, dass der User das Rückgabeformat der REST-API wählen kann.

Eine gut aufgebaute (RESTful) Schnittstelle ist in der Regel einfach lesbar und die entsprechende API-Dokumentation klar formuliert, so wie das bspw. bei der Youtube Data API der Fall ist.

Beispiel, wie man die GET-Funktion in einer REST-API nutzt

Stellen Sie sich vor, eine dritte Person führt ein Adressbuch mit all Ihren Kontakten für Sie. Diesem Adressbuch können Sie 1. via API-Calls (also GET-Abfragen) Informationen entnehmen und 2. via API-Calls (POST) Informationen hinzufügen. Nun wollen Sie wissen, wem die Nummer zugehörig ist, die gerade auf Ihrem Handy angerufen hat (z.B. 09732 30 24 984, die Nummer von appleute).

Hierzu vollführen Sie eine GET-Abfrage an die in der API-Dokumentation hinterlegten Adresse Ihres Adressbuchs, bspw. api.meinadressbuch.com/kontakte/telefonnummern/097323024984.

Es wird offensichtlich, dass Sie also auf Basis eines Kriteriums, der Telefonnummer, nach dem gesamten zugehörigen Adresseintrag suchen. Die REST API wird Ihnen darauf im entsprechenden Rückgabeformat folgende Antwort liefern:

  • Telefonnummer: 097323024984
  • Vorname: Marc
  • Nachname: Müller
  • Firma: appleute

Das Ergebnis ist aufgrund der Einmaligkeit der Telefonnummer eindeutig. Würden Sie hingegen nach “Müller” suchen, hätten Sie ggf. mehrere Einträge, weil “Müller” in Ihrem Adressbuch evtl. häufiger vorkommt.

So viel also zu GET-Anfragen zum Extrahieren bzw. Einfordern von Informationen über die s.g. REST-API.

Beispiel, wie man die POST-Funktion in einer REST-API nutzt

Der Mechanismus für die POST-Aktion ist ähnlich dem der GET-Abfrage. Stellen Sie sich vor, Sie wollen Information nicht einfordern, sonder weitergeben. Bei einem GET-Request wollen Sie also etwas “posten”. Im übertragenen Sinne erfolgt das Posten über eine Art Kontaktformular bzw. -schablone, wobei die einzelnen Komponenten der geteilten Information über festgelegte Kontaktformular-Parameter an die Schnittstelle kommuniziert werden. So können Informationen an einen Drittanbieter weitergegeben und deren Empfang bzw. Status nach Erhalt gar bestätigt werden.

REST-API Entwicklung: Experten beraten Sie

Bei Fragen zu oder Anwendungen (API zu PayPal, YouTube, ERP, etc.) von REST-APIs stehen Ihnen API-Entwicklungsagenturen wie appleute zur Seite.