Was ist REST?
Viele öffentlich zugängliche Dienste stellen eine REST-API bereit, die eine breite Palette von Anwendungen ermöglicht, von Webbenutzeroberflächen bis hin zur Back-End-Systemintegration und-synchronisierung. Was genau ist REST und was macht eine API RESTful?,
REST-REpresentational State Transfer
Technisch gesehen steht REST für REpresentational State Transfer (es ist also kein perfektes Akronym) und bedeutet im Wesentlichen, dass es sich um eine Architektur handelt, die eine Darstellung von Serverdaten oder-status zwischen einem Client und einem Server übertragen soll.
Es gibt ein paar detaillierte Kriterien, die für eine API als notwendig angesehen werden RESTful zu sein, aber die wichtigsten sind, dass die API sein:
- Stateless
Dies bedeutet, dass es keine notwendige Sitzung zwischen einem Client und Server statt., Vom Server empfangene Daten können vom Client unabhängig verwendet werden. Dies ermöglicht kurze, diskrete Operationen und sogar das Offline-Caching von Daten. Dies macht REST zu einer natürlichen Passform für HTTP-Operationen, bei denen Anforderungen singulär und kurzlebig sein sollen.
- Uniform
REST-APIs sollen selbstbeschreibend, einheitlich in ihrer Definition und jede Operation durch einen anderen Endpunkt oder URL getrennt sein. In der Praxis implementieren die meisten REST-APIs klassische CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) für ein Datenmodell., Diese Einheitlichkeit ermöglicht es Entwicklern, das Nutzungsmuster jeder API einfach zu erlernen.
Wie sieht eine REST-API aus?
Da es repräsentativ sein soll, beginnen wir mit dem Datenmodell, das es darstellen soll. Wenn wir beispielsweise eine Online-Commerce-Anwendung haben, möchten wir die Vorgänge zum Verwalten von Produkten in unserem Katalog definieren, die sich auf das Produktmodell konzentrieren.
Jede dieser Operationen wäre mit einer Kombination aus einer URL und einem HTTP-Verb verknüpft., Zur Überprüfung gibt es viele HTTP-Verben, aber die meisten Webentwicklungen verwenden nur die GET-und POST-Verben zum Anfordern einer URL bzw. zum Posten von Formulardaten. REST verwendet jedoch mehr HTTP-Verben, um dem Server zu signalisieren, welche Art von Operation der Client ausführt.
Das Folgende ist eine vereinfachte Liste von URLs in Kombination mit dem HTTP-Verb, mit dem wir die vollständige API für die Verwaltung eines Produktkatalogs verfügbar machen würden:
Die obigen Operationen und URLs sind nur die grundlegenden Operationen für ein einzelnes Modell., REST-APIs können auch sehr spezifische Operationen oder hierarchische Operationen unterstützen. Wenn Sie beispielsweise ein Signal an den Server senden möchten, um eine Lieferung von Produkten neu anzuordnen, können Sie eine URL wie diese verfügbar machen:
/products/{id}/reorder | POST | Signal an den Server, dass Sie Mengen eines Produkts neu anordnen möchten {id}. Der Nachrichtentext kann leer sein oder ein Datenmodell enthalten, das für detaillierte Anweisungen zum Neuordnungsvorgang verwendet wird., |
Oder, wenn Sie in den Produktkatalog eintauchen und eine Abfrage ausführen möchten, um eine Liste aller Bestellungen für ein bestimmtes Produkt zurückzugeben, könnte die API eine Operation wie diese verfügbar machen:
/products/{id}/orders | GET | Geben Sie bei einer {id} für ein Produkt alle Bestellungen zurück., |
Umgekehrt können Sie einen auftragsorientierten Endpunkt verfügbar machen, mit dem Sie alle Produkte in der Reihenfolge auflisten können:
/Bestellungen/{id}/Produkte | GET | Bei einer Bestellung {id} werden alle Produkte in der Bestellung zurückgegeben. |
Wie sehen die Serverdaten aus?,
Es gibt zwar keine strikte Anforderung dafür, welche Art von Daten eine REST-API verwendet oder zurückgibt, aber es ist zu einem De-facto-Standard für webbasierte REST-APIs geworden, JSON als Datendefinition zu verwenden.
Dies liegt daran, dass JSON ein natives Format ist, mit dem alle modernen Browser hierarchische Objekte darstellen können. Weitere Informationen zu JSON finden Sie in unserem Artikel Was ist JSON?
Um mehr über unsere Produkte zu erfahren, wenden Sie sich gebührenfrei an Ihren OAS-Vertriebsmitarbeiter in den USA unter 1-800-533-4994 oder für internationale Anfragen unter 1-303-679-0898.