Eine REST API (auch RESTful API) ist eine Web-Schnittstelle, die nach den Vorgaben des REST-Standards aufgebaut ist. REST APIs werden von Webdiensten und anderen Systemen genutzt, um ausgewählte Ressourcen (Daten) nach außen hin zur Verfügung zu stellen. Diese Ressourcen können dann mithilfe eines REST Clients gezielt angesprochen, abgerufen oder verändert werden.
Aufgrund ihrer Einfachheit und Flexibilität gehört die REST API zu den beliebtesten Web-Schnittstellen und findet weite Verbreitung in verschiedensten Bereichen. Egal ob Online-Dienste wie PayPal und LinkedIn, industrielle Softwareanwendungen oder sogar Haushaltsgeräte – oft sind REST APIs die erste Wahl, wenn Systeme auf unkomplizierte Weise miteinander kommunizieren sollen.
Eine REST API gibt vor, auf welche Weise REST Clients mit einem Webdienst oder einem anderen System interagieren können. Ein Wetterdienst wie OpenWeatherMap, der über REST kommuniziert, nimmt beispielsweise Anfragen mit Ortsparametern entgegen und liefert die dazugehörigen Wetterdaten zurück. Wie genau der Dienst im Hintergrund arbeitet, bleibt dem Anfragenden verborgen.
Wie funktioniert eine REST API?
Eine REST API ermöglicht den Austausch von Daten zwischen verschiedenen Systemen. In der Praxis wird dazu das aus dem Internet bekannte HTTP-Protokoll verwendet. Mithilfe der HTTP-Methoden GET, POST, PUT und DELETE können Daten über eine REST API nicht nur abgerufen, sondern auch verändert oder gelöscht werden (sofern die REST API dies erlaubt).
Im Folgenden erklären wir die grundlegende Funktionsweise einer REST API am Beispiel des Wetterdienstes OpenWeatherMap.
Aufbau einer REST API
Jede REST API verfügt über eine URL (auch Hostname oder Host-URL), über die sie adressiert werden kann.
Beispiel: https://api.openweathermap.org/data/2.5/
Die REST API selbst setzt sich aus verschiedenen Ressourcen zusammen. Dabei handelt es sich um Informationen, die auf einem Server gespeichert werden und über einen Endpunkt bzw. den dazugehörigen URI (Uniform Resource Identifier) angesprochen werden können.
Um beispielsweise den Endpunkt „weather“ und die dahinterliegende Ressource der REST API von OpenWeatherMap anzusprechen, wird folgende URL benötigt:
https://api.openweathermap.org/data/2.5/weather
Außerdem verfügt eine REST API in der Regel über eine Dokumentation, welche Auskunft über die verfügbaren Endpunkte sowie mögliche Parameter und Datenformate (siehe unten) gibt.
Kommunikation mit einer REST API
In der Praxis erfolgt die Kommunikation mit einer REST API über das HTTP-Protokoll.
Dabei können verschiedene HTTP-Methoden (Befehle) verwendet werden. Diese geben vor, auf welche Weise mit der adressierten Ressource interagiert werden soll. Eine GET-Anfrage fordert Informationen von einer REST API an, während mithilfe von POST- und PUT-Anfragen neue Ressourcen angelegt oder bestehende Ressourcen verändert werden können. Der DELETE-Befehl löscht eine bestimmte Ressource.
POST-, PUT- und DELETE-Anfragen können z.B. verwendet werden, um Blogbeiträge auf einer Website zu veröffentlichen, zu verändern oder wieder zu löschen.
Viele Webdienste wie OpenWeatherMap stellen lediglich Informationen zur Verfügung und lassen sich über GET-Anfragen ansprechen. Aber auch Geräte wie z.B. die Cubis® II-Laborwaage können per REST angesprochen und auf diese Weise sogar von außen gesteuert werden.
Beispiel für eine GET-Anfrage:
Bei einer GET-Anfrage liefert die REST API eine Repräsentation der angefragten Ressource (Daten) zurück. Diese Repräsentation kann in verschiedenen Datenformaten übermittelt werden, wobei HTML, JSON und XML besonders häufig zum Einsatz kommen.
Über zusätzliche Parameter wird dem Endpunkt mitgeteilt, welche Bestandteile der Ressource geliefert werden sollen. Der Endpunkt „weather“ der OpenWeatherMap-API kann beispielsweise mit den Parametern „id“ und „appid“ angesprochen werden. Bei dem Parameter „id“ handelt es sich um einen Stadt-Code, während über den Parameter „appid“ ein Verifizierungscode (API key) übermittelt werden muss.
Eine solche GET-Anfrage könnte folgendermaßen aussehen:
GET https://api.openweathermap.org/data/2.5/weather?id= 2839763&appid=123456789abcdefghij
Stimmt der API key, werden aktuelle Wetterdaten im JSON-Format zurückgeliefert.
Vorteile einer REST API
REST APIs gelten als flexible und sichere Schnittstellen für die Kommunikation zwischen verschiedenen Systemen. Der standardisierte Aufbau und der Einsatz etablierter Internettechnologie sorgen dabei für geringe Einstiegshürden.
Zu den wichtigsten Vorteilen einer REST API gehören die folgenden:
Einfache Integration: REST APIs sind nach dem gleichen Muster aufgebaut (siehe Aufbau einer REST API), nutzen das HTTP-Protokoll und sind vergleichsweise einfach in der Benutzung. Dies ermöglicht eine flexible Integration in verschiedenste Plattformen, Dienste und Systeme, wobei die verwendeten Betriebssysteme und Programmiersprachen keine Rolle spielen.
Skalierbarkeit: REST zeichnet sich durch das Prinzip der Zustandslosigkeit aus, d.h. eine einzelne Anfrage enthält alle erforderlichen Informationen zur Verarbeitung dieser Anfrage. Eine Zwischenspeicherung durch den Server findet nicht statt und Daten werden unabhängig von den abrufenden Clients bereitgestellt. Dadurch können Anfragen auf mehrere Server verteilt werden (Lastverteilung) und eine Erweiterung der REST API um neue Server ist zu jedem Zeitpunkt problemlos möglich.
Sicherheit: In der Praxis macht REST sich die Sicherheitsmechanismen der HTTPS-Kommunikation zunutze. Neben der HTTPS-Verschlüsselung können z.B. Authentifizierungsverfahren wie OAuth oder OpenID zum Einsatz kommen. Außerdem ist eine Filterung von Anfragen durch Firewalls möglich.
Beispiele für REST APIs
Aufgrund der weiten Verbreitung von REST existieren zahlreiche Beispiele für REST APIs. Im Folgenden haben wir einige aufgelistet:
- OpenWeatherMap: Weiter oben in diesem Beitrag sind wir bereits mehrfach auf die REST API des Wetterdienstes OpenWeatherMap eingegangen. Wie der Abruf aktueller Wetterdaten im Detail funktioniert, erfahren Sie in unserer Schritt-für-Schritt-Anleitung: Wetter-Daten per REST von OpenWeather abrufen
- Microsoft Teams: Über eine REST API können Nachrichten und Links in Microsoft Teams verschickt werden. Eine detaillierte Anleitung gibt es hier: Microsoft Teams per REST Plug-in anbinden.
- PayPal: Mithilfe der PayPal REST APIs können Betreiber von Onlineshops oder ähnlichen Angeboten mit den PayPal-Servern kommunizieren und den Bezahldienst in ihren Webauftritt integrieren.
- ThingWorx: Bei ThingWorx handelt es sich um eine IoT-Plattform, mithilfe derer internetfähige Geräte, Sensoren und Maschinen zentral visualisiert und verwaltet werden können. In unserer Schritt-für-Schritt-Anleitung zur REST-Anbindung der ThingWorx-Plattform zeigen wir, wie Daten über eine REST API aus den Geräteprofilen ausgelesen oder in die Geräteprofile geschrieben werden können.
- Zebra Etikettendrucker: Auch im Bereich der Industrie- und Haushaltsgeräte können REST APIs auf vielfältige Weise eingesetzt werden. Über die REST API eines Zebra Etikettendruckers lassen sich beispielsweise Druckaufträge an das Gerät übermitteln. Weitere Informationen dazu finden Sie hier.
- Cubis® II-Laborwaage: Die Laborwaage Cubis® II von Sartorius implementiert ebenfalls eine REST API. Diese ermöglicht nicht nur den Abruf von Messwerten, sondern auch eine externe Steuerung der Waage.
In unserem Beitrag Kommunikation über REST APIs – 5 Anwendungsfälle gehen wir noch etwas detaillierter auf verschiedene Anwendungsfälle von REST APIs in der Industrie ein.
Praxis-Tipp: REST-Kommunikation mit dem OPC Router
Um mit einer REST API zu kommunizieren und die entsprechenden GET-, PUT-, POST- und DELETE-Anfragen zu übermitteln, wird ein REST Client benötigt. Dies kann z.B. eine Software wie der OPC Router sein. Mit dem OPC Router und seinem REST Plug-in können beliebige API-Abfragen nicht nur einfach konfiguriert, sondern auch automatisiert und verwaltet werden.
Fordern Sie jetzt Ihren kostenlosen Download-Link für die aktuellste Version des OPC Router an und erstellen Sie ganz einfach per Drag & Drop Ihren Datenaustausch per REST.
Weitere Informationen
Lesen Sie, wie das REST Plug-in Daten verschiedenster Systeme über REST-Schnittstellen abfragen oder übergeben kann.
Weitere interessante Artikel zu den Themen Industrie 4.0, Cloud, Technik, Alarmierung und praktische Anwendungsbeispiele sowie Case Studies finden Sie in unserer Knowledge Base.