Aus dem Kurs: Grundlagen der Programmierung: APIs und Webservices

Überblick über REST

Vielleicht haben Sie sich schon mal gefragt, was RESTful-API bedeutet. REST steht für Representational State Transfer. Das sind Richtlinien, die Anwendungsentwickler beim Entwerfen von APIs beachten. Hier ein Beispiel, um besser zu verstehen, wie eine RESTful-API zwischen Client und Server funktioniert. Jane ist hungrig und geht in ein Restaurant. Das repräsentiert ein Bedürfnis. Sie braucht Essen. Jane liest die Speisekarte, auf der alle Sachen stehen, die sie bestellen kann. Die Karte ist die API. APIs bieten viele Sachen, die man bestellen und nutzen kann. Jane sucht sich Hühnchen mit Parmesan aus und bestellt es bei der Bedienung. Die Bestellung ist der API-Aufruf. Sie sendet die Nachricht, was der Client will. Die Küche bereitet das Essen zu. Analog würde die API die Arbeit tun oder die benötigten Daten abrufen. Zum Schluss bringt die Bedienung Jane das Essen. Das ist die API-Antwort, die an den Client geschickt wird. Die Bestellung wird ausgeführt. APIs folgen vier Prinzipien, die wir uns jetzt der Reihe nach ansehen. Bei der Nutzung von APIs werden Ihnen diese Prinzipien einiges erleichtern. Erstens werden Daten und Funktionalität in der API als Ressourcen angesehen und durch einen sogenannten URI, Uniform Resource Identifier, erkannt. Der Zugriff geschieht über Weblinks. Zweitens gibt es eine feste Menge an Operationen, um Ressourcen zu bearbeiten. GET ruft eine Ressource ab, POST erstellt eine, PUT ändert sie und DELETE entfernt sie. Drittens werden Ressourcen in verschiedenen Formaten dargestellt, wie HTML, XML, einfacher Text und andere, durch einen Medientyp definierte Formate. Und viertens ist die Kommunikation zwischen Client und Endpunkt zustandslos. Der Server wird nicht den Zustand des aufrufenden Clients speichern. Zum besseren Verständnis des Zustandslosigkeitsprinzips nehmen wir an, Sie stehen im Coffee-Shop in der Schlange und bestellen Ihren bevorzugten Chai Latte. Sie zahlen und nehmen Ihr Getränk, da fällt Ihnen ein, Sie haben den Tee für Ihre Freundin vergessen. Sie stellen sich wieder an und sagen an der Kasse, dass Sie noch einen möchten. Die Bedienung erinnert sich nicht an Ihre Bestellung und Sie müssen ihr das Gewünschte erneut sagen. Sie bedient wahrscheinlich so viele Gäste, dass sie sich unmöglich die Bestellung jeder einzelnen Person merken kann. Webservices sind genauso. Diese Prinzipien machen Ihre RESTful-Anwendungen einfach, leichtgewichtig und schnell.

Inhalt