Startseite topics Was ist eine REST-API? Was ist eine REST-API?
Erkunden Sie die REST-API-Lösung von IBM Abonnieren Sie Updates rund ums Thema KI
Bild der Benutzeroberfläche für das API Management
Was ist eine REST-API?

Eine REST-API (auch RESTful-API oder RESTful-Web-API genannt) ist eine Anwendungsprogrammierschnittstelle (API), die den Designprinzipien des REST-Architekturstils (Representational State Transfer) entspricht. REST-APIs bieten eine flexible, kompakte Möglichkeit zur Integration von Anwendungen und zur Verbindung von Komponenten in Microservices-Architekturen.
 

REST wurde erstmals im Jahr 2000 von dem Informatiker Dr. Roy Fielding in seiner Dissertation definiert und bietet Entwicklern ein relativ hohes Maß an Flexibilität, Skalierbarkeit und Effizienz. Aus diesen Gründen haben sich REST-APIs als gängige Methode zur Verbindung von Komponenten und Anwendungen in einer Microservices-Architektur durchgesetzt.

Die Mythen zur Beobachtbarkeit entlarven

Dieses E-Book soll mit den Mythen um die Observability aufräumen und ihre Rolle in der digitalen Welt aufzeigen.

Ähnliche Inhalte

Lesen Sie einen Leitfaden zur intelligenten Automatisierung

Erfahren Sie, wie KI API-basierte Agenten optimiert
REST-Designprinzipien Auf der einfachsten Ebene ist eine API ein Mechanismus, der es einer Anwendung oder einem Dienst ermöglicht, auf eine Ressource innerhalb einer anderen Anwendung oder eines anderen Dienstes zuzugreifen. Die Anwendung oder der Dienst, der auf Ressourcen zugreift, ist der Client, und die Anwendung oder der Dienst, der die Ressource enthält, ist der Server. Einige APIs, wie SOAP oder XML-RPC, zwingen den Entwicklern ein strenges Framework auf. Entwickler können REST-APIs jedoch mit praktisch jeder Programmiersprache entwickeln und eine Vielzahl von Datenformaten unterstützen. Die einzige Voraussetzung ist, dass sie sich an die sechs REST-Designprinzipien halten – auch bekannt als architektonische Einschränkungen: Einheitliche Schnittstelle

Alle API-Anfragen für dieselbe Ressource sollten gleich aussehen, unabhängig davon, woher die Anfrage stammt. Die REST-API sollte sicherstellen, dass ein und dieselbe Information, wie z. B. der Name oder die E-Mail-Adresse eines Nutzers, nur zu einem einzigen Uniform Resource Identifier (URI) gehört. Die Ressourcen sollten nicht zu groß sein, aber alle für den Kunden notwendigen Informationen enthalten.

Client-Server-Entkopplung

Beim Design von REST-APIs müssen Client- und Serveranwendungen völlig unabhängig voneinander sein. Die einzige Information, die die Client-Anwendung kennen sollte, ist der URI der angeforderten Ressource. Sie kann nicht auf andere Weise mit der Server-Anwendung interagieren. Ebenso sollte eine Serveranwendung die Clientanwendung nicht verändern und ihr lediglich die angeforderten Daten über HTTP übermitteln.

Zustandslosigkeit

REST-APIs sind zustandslos. Das bedeutet, dass jede Anfrage alle Informationen enthalten muss, die für ihre Bearbeitung notwendig sind. Mit anderen Worten: REST-APIs erfordern keine serverseitigen Sitzungen. Serveranwendungen dürfen keine Daten speichern, die mit einer Client-Anfrage zusammenhängen.

Cachefähigkeit

Wenn möglich, sollten die Ressourcen auf der Client- oder Serverseite gecacht werden können. Die Serverantworten müssen auch Informationen darüber enthalten, ob das Caching für die gelieferte Ressource erlaubt ist. Ziel ist es, die Leistung auf der Client-Seite zu verbessern und gleichzeitig die Skalierbarkeit auf der Server-Seite zu erhöhen.

Mehrschichtige Systemarchitektur

Bei REST-APIs durchlaufen die Aufrufe und Antworten verschiedene Schichten. Hier gilt die Faustregel, dass man nicht davon ausgehen sollte, dass die Client- und Serveranwendungen direkt miteinander verbunden sind. In der Kommunikationsschleife kann es eine Reihe verschiedener Zwischenstufen geben. REST-APIs müssen so konzipiert sein, dass weder der Client noch der Server erkennen kann, ob er mit der Endanwendung oder einer zwischengeschalteten Stelle kommuniziert.

On-Demand-Code (optional)

REST-APIs senden in der Regel statische Ressourcen. In bestimmten Fällen können die Antworten jedoch auch ausführbaren Code enthalten (z. B. Java-Applets). Hier sollte der Code nur bei Bedarf ausgeführt werden.

So funktionieren REST-APIs

REST-APIs kommunizieren über HTTP-Anfragen, um Standard-Datenbankfunktionen wie das Erstellen, Lesen, Aktualisieren und Löschen von Datensätzen (auch als „CRUD“ für Creating, Reading, Updating und Deleting bekannt) innerhalb einer Ressource durchzuführen.

Eine REST-API würde zum Beispiel eine GET-Anfrage verwenden, um einen Datensatz abzurufen. Eine POST-Anfrage erstellt einen neuen Datensatz. Eine PUT-Anfrage aktualisiert einen Datensatz, und eine DELETE-Anfrage löscht einen Datensatz. In API-Aufrufen können alle HTTP-Methoden verwendet werden. Eine gut konzipierte REST-API ist vergleichbar mit einer Website, die in einem Webbrowser mit integrierter HTTP-Funktionalität läuft.

Der Zustand einer Ressource zu einem bestimmten Zeitpunkt, oder Zeitstempel, wird als Ressourcendarstellung bezeichnet. Diese Informationen können einem Client in praktisch jedem Format geliefert werden, einschließlich JavaScript Object Notation (JSON), HTML, XLT, Python, PHP oder einfachem Text. JSON ist beliebt, weil es sowohl von Menschen als auch von Maschinen gelesen werden kann und unabhängig von der Programmiersprache ist.

Anfrage-Header und Parameter sind bei REST-API-Aufrufen ebenfalls wichtig, da sie wichtige Identifizierungsinformationen wie Metadaten, Berechtigungen, URIs (Uniform Resource Identifier), Caching, Cookies und mehr enthalten. Anfrage-Header und Antwort-Header werden zusammen mit den herkömmlichen HTTP-Statuscodes in gut konzipierten REST-APIs verwendet.

 

Best Practices für REST-APIs

Obwohl Flexibilität ein großer Vorteil des REST-API-Designs ist, erleichtert dieselbe Flexibilität auch die Entwicklung einer API, die fehlerhaft ist oder schlecht funktioniert. Aus diesem Grund teilen professionelle Entwickler Best Practices in REST-API-Spezifikationen.

Die OpenAPI-Spezifikation (OAS) legt eine Schnittstelle fest, mit der eine API so beschrieben werden kann, dass jeder Entwickler oder jede Anwendung sie erkennen und ihre Parameter und Funktionen vollständig verstehen kann. Diese Informationen umfassen verfügbare Endpunkte, zulässige Operationen für jeden Endpunkt, Operationsparameter, Authentifizierungsmethoden und mehr. Die neueste Version, OAS3, enthält praktische Tools wie den OpenAPI Generator, mit dem Sie API-Clients und Server-Stubs in verschiedenen Programmiersprachen erstellen können.

Die Absicherung einer REST-API beginnt ebenfalls mit branchenüblichen Best Practices. Verwenden Sie Hashing-Algorithmen für die Passwortsicherheit und HTTPS für die sichere Datenübertragung. Ein Autorisierungs-Framework wie OAuth 2.0 kann dabei helfen, die Privilegien von Drittanbieteranwendungen zu begrenzen.

Mithilfe eines Zeitstempels im HTTP-Header kann eine API auch jede Anfrage ablehnen, die nach einer bestimmten Zeitspanne eintrifft. Parametervalidierung und JSON Web Tokens sind weitere Möglichkeiten, um sicherzustellen, dass nur autorisierte Clients auf die API zugreifen können.

Weiterführende Lösungen IBM API Connect

Verwalten Sie Ihren API-Lebenszyklus über mehrere Clouds hinweg, fördern Sie die Sozialisierung und optimieren Sie die Monetarisierungsbemühungen in Ihrem gesamten geschäftlichen Ökosystem mit dem sicheren API Management von IBM® API Connect.

Integrationslösungen

Verbinden, automatisieren und erschließen Sie Geschäftspotenziale mit Integrationslösungen.

iPaaS-Lösungen

Verbinden Sie Anwendungen, Daten, Geschäftsprozesse und Services, unabhängig davon, ob sie lokal, in einer privaten Cloud oder in einer öffentlichen Cloud-Umgebung gehostet werden.

Ressourcen Was ist eine API?

Erfahren Sie, wie Anwendungsprogrammierschnittstellen (APIs) einen einfachen und sichereren Austausch von Daten und Funktionalitäten zwischen Anwendungen ermöglichen und dadurch die Softwareentwicklung und Innovation vereinfachen.

Was ist API Management?

Erfahren Sie mehr über API Management und wie eine einheitliche API Management-Plattform Ihr Unternehmen bei der Skalierung unterstützen kann.

Gartner Critical Capabilities 2023

Lesen Sie den Gartner®-Bericht „Critical Capabilities for Full Lifecycle API Management Report 2023“, um mehr darüber zu erfahren, warum Gartner IBM als führenden Anbieter ausgezeichnet hat.

Machen Sie den nächsten Schritt

Verwenden Sie IBM API Connect, um Unternehmens-APIs über ihre gesamten Lebenszyklen hinweg zu sichern und zu verwalten. Es hilft Ihnen und Ihren Kunden, Unternehmens-APIs konsistent zu erstellen, zu verwalten, zu sichern, zu sozialisieren und zu monetarisieren, und ist ebenfalls als hoch skalierbare API Management-Plattform auf IBM Marketplace und AWS verfügbar.

API Connect entdecken Buchen Sie eine Live-Demo