REST-API-Definition: Die Grundlagen von REST-APIs verstehen

By |2022-05-16T09:08:22+00:00January 28th, 2020|

'Was ist REST API und wie funktioniert es?' ist eine häufig gestellte Frage.

An API (Anwendungsprogrammschnittstelle) ist ein Regelwerk, mit dem verschiedene Programme miteinander kommunizieren können. Es beschreibt die geeignete Möglichkeit für einen Softwareentwickler, ein Programm auf einem Server zu erstellen, der mit verschiedenen Clientanwendungen kommuniziert.

API-Integration bezieht sich auf ein paar Anwendungen (zwei oder mehr), die über ihre APIs miteinander verbunden sind, um Daten auszutauschen und eine gemeinsame Funktion auszuführen, wodurch die Interaktion zwischen Anwendungen ermöglicht wird. Nachdem wir nun die API definiert haben, gehen wir zu REST-APIs über. Verschiedene Websites wie Amazon, Google, Facebook, LinkedIn und Twitter verwenden REST-basierte APIs, die es Benutzern ermöglichen, mit diesen Cloud-Diensten zu kommunizieren.

Dies wird tief in die REST-API-Definition eintauchen und alle grundlegenden Aspekte abdecken, einschließlich dessen, wofür REST-API steht, REST-API-Prinzipien, REST-API-Methoden und mehr.

Rausfinden:

Was ist REST-API?

Im Jahr 2000 definierte Roy Fielding REST als einen Architekturstil und eine Methodik, die häufig in der Entwicklung von Internetdiensten, wie beispielsweise verteilten Hypermedia-Systemen, verwendet wird.

Die vollständige Form der REST-API ist die Representational State Transfer Application Programming Interface, besser bekannt als REST-API-Webdienst. Das bedeutet, wenn eine RESTful-API aufgerufen wird, wird der Server privaten Transfer a Darstellung der angeforderten Ressource Zustand an das Client-System.

Wenn beispielsweise ein Entwickler die Twitter-API auffordert, das Objekt eines Benutzers (eine Ressource) abzurufen, sendet die API den Status dieses Benutzers, seinen Namen, seine Follower und auf Twitter geteilten Posts zurück. Dies ist aufgrund von API-Integrationsprojekten möglich.

Diese Zustandsdarstellung kann im JSON-, XML- oder HTML-Format vorliegen.

REST-API-Definition

(Quelle: Seobility)

Typische Datenübertragungsprotokolle wie SOAP (Simple Object Access Protocol) bieten hervorragende Möglichkeiten Datensicherheit und Integrität Fähigkeiten. Darüber hinaus bietet SOAP eine eingebaute Wiederholungslogik, um fehlgeschlagene Kommunikationen zu kompensieren. Aber solche Protokolle sind auch schwer zu handhaben. RESTful API ist eine einfachere Alternative, die sich in den letzten Jahren exponentiell entwickelt hat. Menschen sind oft verwirrt in Bezug auf REST-Standards. Im Vergleich zu SOAP, älteren Webservices, ist REST flexibler und einfacher zu implementieren.

REST wird in der Regel der robusteren SOAP vorgezogen, da diese verwendet wird geringere Bandbreite, wodurch es für die umfassenden Webdienste der Welt besser geeignet ist. Es verwendet das HTTP-Protokoll, um Daten abzurufen oder Operationen in verschiedenen Datenformaten (wie XML und JSON) auszuführen; es ermöglicht schnellere Prozesse.

Folglich verwendet SOAP die XML-Datenübertragung und definiert Operationen als unidirektionale WSDL-Ports mit mehreren Prozessinstanzen, die dieselben Prozeduren gemeinsam nutzen. In REST werden Operationen in Nachrichten selbst beschrieben. Darüber hinaus gibt es für jede Prozessinstanz eine einzige Richtung.

Ein weiterer Unterschied zwischen SOAP und REST liegt darin, wie diese Protokolle gekoppelt sind. SOAP ist eng gekoppelt, während letzteres schwach gekoppelt ist. Die Module der schwachen Kopplungseinrichtung sind unabhängig, und Schwankungen in einem stören den Betrieb der anderen nicht. Als Ergebnis gibt es Flexibilität und Wiederverwendbarkeit, wenn Module hinzugefügt, ersetzt oder angepasst werden. Andererseits bedeutet eine enge Kopplung, dass Module dazu neigen, koabhängig zu sein. Abweichungen in einem Modul können sich also systemweit auswirken. All diese Unterschiede machen API RESTful.

Mehrere Anwendungen und Projekte verwenden REST-APIs zum Übertragen von Daten, und Unternehmen nutzen zunehmend RESTful-Webdienste, um horizontales Wachstum zu erzielen.

Wie funktioniert eine REST-API?

REST bestimmt die Struktur eines API. Entwickler verpflichten sich beim Design einer API zu einem bestimmten Regelwerk. Ein Gesetz besagt beispielsweise, dass das Verlinken auf eine URL einige Informationen zurückgeben sollte.

Jede URL wird als Anforderung bezeichnet, während die zurückgegebenen Daten als Antwort bezeichnet werden.

Die REST-API zerlegt eine Transaktion, um eine Folge kleiner Komponenten zu generieren. Jede Komponente adressiert einen bestimmten grundlegenden Aspekt einer Transaktion. Diese Modularität macht es zu einem flexiblen Entwicklungsansatz.

Eine REST-API nutzt HTTP-Methoden, die von der RFC 2616-Protokoll. Es verwendet die folgenden HTTP-Anforderungen:

  • GET Anforderung Daten abrufen
  • SETZEN Anforderung um den Status von Daten zu ändern (z. B. ein Objekt, eine Datei oder einen Block)
  • POST-Anfrage  um Daten zu erstellen
  • Anfrage LÖSCHEN um es zu beseitigen

Es sind verschiedene HTTP-Verben oder Statuscodes zu sehen, die von REST-APIs verwendet werden .

Wofür werden RESTful-APIs verwendet?

Um besser zu verstehen, was die RESTful-API ist, wofür die API verwendet wird, wie sie funktioniert und wie die Rest-API definiert ist, betrachten wir ein Beispiel.

Angenommen, Sie möchten Video-Tutorials zum Thema „Datenintegration“ auf YouTube ansehen. Sie gehen zu YouTube, geben „Datenintegration“ in das Suchfeld ein, drücken die Eingabetaste und eine Liste mit Videos zur Datenintegration wird angezeigt. Richtig?

Eine RESTful-API funktioniert ähnlich. Sie suchen etwas und erhalten eine Ergebnisliste von Ihrem angeforderten Dienst.

Bei der REST-Technologie wird davon ausgegangen, dass alle Anrufe zustandslos sind. Dies bedeutet, dass der REST-Service zwischen den Ausführungen nichts behalten kann, was ihn in Cloud-Anwendungen vorteilhaft macht. Dies liegt daran, dass staatenlose Bestandteile im Fehlerfall leicht neu zugewiesen werden können. Darüber hinaus können sie leicht skaliert werden, um Lastschwankungen zu berücksichtigen. Dies liegt daran, dass jede Anfrage an jede Instanz eines Mitglieds gesendet werden kann.

Da keine Daten gespeichert werden können, die von der nachfolgenden Transaktion abgerufen werden müssen, ist REST das gewünschte Protokoll für die Internetkommunikation. Wie bereits erwähnt, ist die REST-API-Technologie auch hilfreich bei der Verbindung zu Cloud-Anwendungen, da der Zugriff auf einen Dienst über eine API eine Anpassung in der URL-Interpretation erfordert.

In ähnlicher Weise kann auch die REST-API für verwendet werden Mapping-Daten von einer Cloud-Plattform zu einem Data Warehouse oder umgekehrt.

REST API Glossar für Schlüsselbegriffe

Bevor wir uns mit den Leitprinzipien für das Entwerfen von REST-APIs befassen, lassen Sie uns kurz drei Schlüsselbegriffe der API erörtern:

Kunden

Der Client ist eine Hardware oder Software, die die API verwendet, die von einem Server zugänglich gemacht wird. Wenn Sie beispielsweise die Website von Facebook besuchen, ist Ihr Browser der Client, der die API von Facebook aufruft und zurückgesendete Daten verwendet, um Informationen auf Ihrem Bildschirm anzuzeigen.

Ressourcen

Eine Ressource kann jedes Objekt sein, über das die API Informationen anbieten kann. Im Fall einer Twitter-API kann eine Ressource beispielsweise ein Benutzer, ein Hashtag oder ein beliebiger Medientyp wie ein Bild sein. Jede Ressource verfügt über eine eindeutige Kennung, die ein Name oder eine Nummer sein kann.

Die Ressource ist die primäre Abstraktion von Informationen in REST. Die REST-API verwendet eine Ressourcenkennung, um die spezifische Ressource zu erkennen, die an der Kommunikation zwischen verschiedenen Elementen beteiligt ist.

Server

Ein Server ist ein beliebiges System, das Ressourcen enthält, die der Client wünscht. Wenn es Clientanforderungen empfängt, stellt es dem Client den Inhalt über die API-Schnittstelle bereit. Der Server gewährt dem Client nur einen repräsentativen Zustand der Quelle und keinen vollständigen Zugriff.

Ein hervorragendes Beispiel dafür ist, wenn eine mobile App YouTube-Videos über ihre Benutzeroberfläche anzeigt. Es verwendet eine REST-API, um den Videoinhalt von YouTube abzurufen, ohne ihn auf seinem System zu hosten.

REST-API-Funktionen

Hier ist eine Liste von Funktionen, die es zur effizientesten Daten- und Anwendungsintegration machen.

Skalierbarkeit

Die REST-API bietet eine hervorragende Skalierbarkeit. Da Clients und Server getrennt sind, kann ein Produkt ohne großen Aufwand von einem Entwicklerteam skaliert werden.
Außerdem ist es einfacher, REST in vorhandene Websites zu integrieren, ohne die Website-Infrastruktur umzugestalten. Dies ermöglicht es Entwicklern, schneller zu arbeiten, anstatt Zeit damit zu verbringen, eine Website von Grund auf neu zu überarbeiten. Alternativ können sie lediglich zusätzliche Funktionen hinzufügen. Dies macht es zur am häufigsten verwendeten Integrationsmethode.

Flexibilität und Portabilität

Benutzer können problemlos kommunizieren, selbst wenn der REST-Client-Server gehostet wird verschiedene Server, was aus Sicht des Managements einen wesentlichen Vorteil bietet.

Unabhängigkeit

Dank der Trennung zwischen Client und Server ermöglicht das REST-Protokoll eine einfache autonome Entwicklung der verschiedenen Bereiche. Darüber hinaus ist die REST-API an die operative Syntax und Plattform anpassbar und bietet die Möglichkeit, zahlreiche Umgebungen während der Entwicklung zu testen.

REST-API-Entwurfsprinzipien

Nachdem wir nun die Grundlagen behandelt und etwas über die Definition von REST-APIs gelernt haben, gehen wir zu den sechs REST-Prinzipien über, die das API-Design leiten:

Client-Server

Dieses REST-Prinzip basiert auf dem Konzept, dass Client und Server voneinander isoliert werden und sich unabhängig entwickeln dürfen. Auf diese Weise können Sie die Verwaltbarkeit über zahlreiche Plattformen verbessern und die Skalierbarkeit erhöhen, indem Sie Serverkomponenten rationalisieren, da die Belange der Benutzeroberfläche von den Belangen der Datenspeicherung getrennt sind.

Staatenlos

Gemäß diesem REST-Prinzip sind APIs zustandslos, was bedeutet, dass Aufrufe unabhängig voneinander durchgeführt werden können. Darüber hinaus enthält jeder Anruf die Daten, die für eine effektive Abwicklung erforderlich sind.

Mit anderen Worten, jede vom Client an den Server gesendete Anfrage muss alle Informationen enthalten, die zum Verständnis der Anfrage erforderlich sind.

Cachefähig

Da kann eine zustandslose API aufsteigen Aufwand anfordern Durch die Verwaltung großer Mengen eingehender und ausgehender Aufrufe sollte ein REST-API-Design zwischenspeicherbare Daten speichern. Gemäß diesem API-Designprinzip sollten Daten in einer Antwort indirekt oder als zwischenspeicherbar oder nicht zwischenspeicherbar kategorisiert werden.

Wenn eine Antwort zwischengespeichert werden kann, erhält der Client-Cache das Recht, diese Antwortdaten für ähnliche Anforderungen in Zukunft zu recyceln.

Einheitliche Schnittstelle

Um einen Client vom Server zu entkoppeln, benötigen Sie eine einheitliche Schnittstelle, die eine autonome Entwicklung der Anwendung ermöglicht, ohne ihre Dienste, Modelle und Aktionen eng an die API-Schicht selbst zu koppeln.

Dieses Konstruktionsprinzip rationalisiert die gesamte Systemarchitektur und verbessert die Sichtbarkeit der Kommunikation. Um eine einheitliche Schnittstelle zu erreichen, sind mehrere Architekturkontrollen erforderlich, um die Leistung der Elemente innerhalb der REST-API-Architektur zu steuern.

REST-Prinzipien werden durch vier Schnittstellenkontrollen definiert, darunter das Identifizieren von Ressourcen, das Verwalten von Ressourcen durch Repräsentationen, selbstbeschreibende Kommunikation und Hypermedia als Motor des Anwendungszustands.

Geschichtetes System

Die Architektur der REST-API umfasst mehrere Ebenen, die zusammenarbeiten, um eine Hierarchie aufzubauen, die dabei hilft, eine skalierbarere und flexiblere Anwendung zu generieren. Aufgrund ihres Schichtsystems bietet eine Anwendung eine bessere Sicherheit, da Komponenten in jeder Schicht nicht außerhalb der nachfolgenden Schicht interagieren können. Darüber hinaus gleicht es Lasten aus und bietet gemeinsame Caches zur Stimulierung Skalierbarkeit.

Ein mehrschichtiges REST-API-Architektursystem weist eine größere Stabilität auf, da es die Komponentenleistung einschränkt. so dass jede Komponente nicht weiter 'sehen' kann als die unmittelbare Schicht, mit der sie sich vermischt.

Code auf Abruf

Dieses REST-Prinzip ermöglicht die Kommunikation von Codierungen oder Applets über die innerhalb der Anwendung verwendete API.

Eine REST-API-Definition ermöglicht die Erweiterung der Clientfunktionalität durch Herunterladen und Implementieren von Codierung in Form von Applets oder Skripten. Dies rationalisiert Clients, indem die Anzahl der Features verringert wird, die für die Vorimplementierung erforderlich sind.

In den meisten Fällen gibt ein Server eine statische Ressourcendarstellung im XML- oder JSON-Format zurück. Bei Bedarf können Server dem Client ausführbaren Code bereitstellen.

Astera Centerprise Erleichtert die erholsame API-Integration

REST API Die Integration kann für neue Entwickler schwierig sein, da Sie die Möglichkeit verlieren können, den Zustand in REST zu bewahren, z. B. innerhalb von Sitzungen. Daher ist es wichtig zu verstehen, warum eine REST-API ihren Zustand beibehält und warum diese sechs REST-Leitprinzipien beim Entwerfen Ihrer API berücksichtigt werden müssen.

Im Gegensatz zu SOAP erfordert REST nicht, dass Clients die Operationssemantik kennen, bevor sie es verwenden. Ein Client benötigt beispielsweise keine Routing-Informationen mit der anfänglichen URL. Außerdem benötigen Ports keine unterschiedlichen Benachrichtigungen, da Clients eine standardmäßige „Listener“-Schnittstelle für Benachrichtigungen haben können.

Darüber hinaus kann REST mit einer kleinen Anzahl von Operationen zahlreiche Ressourcen verarbeiten, was die Erstellung und Anpassung vereinfacht. Wir hoffen, dass der Blog alle Unklarheiten über die REST-API beseitigt hat, von der grundlegenden API-Definition bis zur Funktionsweise.

Verwandte Artikel

Warum benötigen Sie eine API-Integrationsplattform?

Ob Sie im Marketing, im Finanzwesen oder im operativen Geschäft arbeiten, Sie haben sicher schon viel über API-Integrationen in den...
Mehr Infos or weiterlesen

Vereinfachen Sie die Anwendungsintegration mit dem REST-API-Browser

Die REST-API-Integration bezieht sich auf die Verbindung mit Anwendungen von Drittanbietern mithilfe von HTTPS-Anforderungen, um auf Daten zuzugreifen und diese zu übertragen. Mit mehreren Wolken ...
Mehr Infos or weiterlesen

Eine Anleitung zur Verwendung von APIs für den Datenabruf

Eine API (dh Application Programming Interface) ist eine standardisierte und sichere Schnittstelle, die es Anwendungen ermöglicht, mit ...
Mehr Infos or weiterlesen