Anzapfen von Webdiensten per REST-Schnittstelle

Im Web sind viele APIs nach dem Quasi-Standard REST aufgebaut. Wer das Prinzip einmal verstanden hat, kann leicht externe Dienste für eigene Anwendungen nutzen.

Lesezeit: 11 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 2 Beiträge
Besuch im RESTaurant: Webdienste per REST-Schnittstelle anzapfen

(Bild: Albert Hulm)

Von
  • Manuel Ottlik
Inhaltsverzeichnis

Startet der Benutzer in einem Hotelvergleichsportal eine Suche, beginnt der Server, Informationen von verschiedenen Hotelanbietern zusammenzusammeln. Er nutzt dafür Application Programming Interfaces, kurz APIs, die von den Anbietern bereitgestellt werden und strukturierte Daten liefern. Wie eine solche Schnittstelle aussieht, ist nicht per Gesetz geregelt – es gibt im Web schließlich keine autoritäre Instanz, die festlegt, wie ein API gestaltet sein muss. Das Web organisiert sich vielmehr über gemeinsam vereinbarte Standards. APIs nach dem REST-Modell aufzubauen ist eine solche Übereinkunft. Wer einen Dienst mit einer REST-Schnittstelle anbietet, stellt sicher, dass andere Entwickler ihn schnell in ihre Anwendungen integrieren können. Doch wie sieht eine Schnittstelle aus, die für den Nutzer meist im Verborgenen bleibt?

Ein API ist wie ein Vertrag zwischen zwei Programmen: Er legt fest, wie die beiden Programme miteinander sprechen und gegenseitig Informationen austauschen. Vereinbart wird zum Beispiel, in welcher Struktur und Sprache eine Informationsanfrage und dessen Antwort formuliert sind.

Aber einmal anschaulich: So wie ein Kellner in einem Restaurant kann ein API Befehle entgegennehmen und diese an die Küche, also das Backend, weitergeben. Der Kunde wählt ein Gericht von der Speisekarte und bestellt es beim Kellner. Der Kellner prüft, ob das Gericht auf der Karte steht, und gibt die Bestellung an die Küche weiter. Der Gast muss sich nicht damit auskennen, wie ein Schnitzel zubereitet wird und bekommt die Küche meistens nicht zu Gesicht. Er verlangt einfach nach einem Schnitzel. Nach der Bestellung kommt das zubereitete Gericht, die Antwort des Backends, zurück zum Anwender.