Zum Inhalt springen

REST-API Schnittstellen und Programmierschnittstellen

Was ist eine REST-API?

Eine REST-API ist die konventionellste Art von Application Programming Interface im World Wide Web. Wir erklären Anwendungsgebiete und Use-Cases.

Rest API

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. Mehr zu Payment Providern wie PayPal.

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 ist REST API?

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 Seitenformularen der gleichen Webseite erfolgt. Aus diesem Grund kann der Drittanbieter-Server über eine vom API-Editor bereitgestellte URL abgefragt werden.

Ein Beispiel für eine REST-API

Eine REST-API ist eine Möglichkeit für zwei Computersysteme, über das Internet miteinander zu kommunizieren. Es handelt sich um eine Reihe von Regeln zur Erstellung von Webdiensten, die es verschiedenen Systemen ermöglichen, miteinander zu kommunizieren. Hier ist ein einfaches Beispiel für eine REST-API, mit der ein Client eine Liste von Benutzern von einem Server abrufen kann:

				
					GET /Benutzer HTTP/1.1
Host: www.example.com
				
			

Der obige API-Aufruf wird mit der GET-Methode durchgeführt. Er wird verwendet, um Daten vom Server abzurufen. Der Pfad „/users“ zeigt an, dass der Client eine Liste von Benutzern abrufen möchte. Der Server antwortet dann mit einer Liste von Benutzern in einem Format wie JSON oder XML.
Es gibt viele andere Methoden und Funktionen, die in einer REST-API verwendet werden können, wie POST (zum Senden von Daten an den Server), DELETE (zum Löschen von Daten vom Server) und Authentifizierung.

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.

Connecting teams

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, beispielsweise 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. Kontaktschablone, 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.

FAQ- Rest-API

1. Was ist der Zweck der REST-API?

REST-APIs werden für eine Vielzahl von Zwecken verwendet. Einige häufige Anwendungsfälle für REST-APIs sind:

Zum Abrufen von Daten: Sie können eine REST-API verwenden, um Daten von einem Webserver abzurufen und sie in Ihrer Anwendung anzuzeigen.

Aktualisieren von Daten auf einem Webserver: Mit einer REST-API können Sie Daten auf einem Webserver aktualisieren, indem Sie eine PUT-Anfrage an die API senden.

Erstellen neuer Daten: Um neue Daten auf einem Webserver zu erstellen, indem eine POST-Anfrage an die API gesendet wird.

Zum Löschen von Daten: Sie können eine REST-API verwenden, um Daten von einem Webserver zu löschen, indem Sie eine DELETE-Anfrage an die API senden.

Integrationen von Drittanbietern: Viele Unternehmen bieten APIs an, die es Entwicklern ermöglichen, ihre Produkte in andere Anwendungen zu integrieren.

Microservices: REST-APIs sind ein wesentlicher Bestandteil der Microservices-Architektur. Sie werden häufig verwendet, um kleine, unabhängige Dienste zu erstellen, die zu größeren Anwendungen kombiniert werden können.

 

2. Welche APIs werden häufig von Entwicklern verwendet?

Einige der APIs, die von Entwicklern verwendet werden:

Google Maps API: Die Google Maps API ermöglicht es Entwicklern, auf Kartendaten zuzugreifen und diese in ihre eigenen Anwendungen einzubinden.

PayPal-API: Die PayPal-API ermöglicht es Entwicklern, Zahlungen zu verarbeiten und finanzielle Transaktionen zu verwalten.

Stripe-API: Die Stripe-API ermöglicht es Entwicklern, Zahlungen zu verarbeiten, Abonnements zu verwalten und andere Finanztransaktionen durchzuführen.

GitHub-API: Mit der GitHub-API können Entwickler auf Daten der beliebten Code-Repository-Plattform zugreifen und Vorgänge wie die Suche nach Repositories, die Verwaltung von Issues und die Erstellung von Pull Requests durchführen.

 

3. Wie unterscheidet sich eine API von einer REST-API?

API steht für „Anwendungs programmier schnittstelle“. Eine API ist ein Regelwerk, das festlegt, wie zwei Softwareprogramme miteinander kommunizieren sollen. Sie definiert die Arten von Anfragen, die gestellt werden können, die Art und Weise der Datenübertragung und das Format der Daten.

Eine REST-API ist die Abkürzung für Representational State Transfer API. Es handelt sich um eine spezielle Art von API, die dem architektonischen Stil von REST entspricht. Diese APIs verwenden eine einheitliche Schnittstelle für die Kommunikation, die es verschiedenen Systemen erleichtert, miteinander zu kommunizieren.

4. Ist eine REST-API eine Art von Webdienst?

Eine REST-API ist eine Art von Webdienst, der den Architekturstil von REST verwendet. REST-APIs basieren auf HTTP und verwenden HTTP-Methoden (wie GET, POST, PUT, DELETE), um Operationen mit Ressourcen durchzuführen. 

Sie können Daten in verschiedenen Formaten zurückgeben, z. B. XML, JSON oder HTML. REST-APIs werden in der Regel verwendet, um die Funktionalität einer Webanwendung oder eines Dienstes offenzulegen, und sind so konzipiert, dass sie über das Internet leicht zugänglich sind.

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.

de_DEDE