Was ist ein API Endpoint?

Luftaufnahme des Victoria Harbour in Hongkong

Autoren

Dan Nosowitz

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

Was ist ein API Endpoint?

Ein API Endpoint ist ein digitaler Ort, an dem eine Programmierschnittstelle (API) API-Aufrufe, auch bekannt als API-Anfragen, für Ressourcen auf ihrem Server empfängt. API Endpoint sind Komponenten von APIs und liegen meist in Form von URLs oder Unified Resource Locators vor.

Eine API ist ein Vermittler, der es Softwareanwendungen ermöglicht, miteinander zu kommunizieren, um Daten, Features und Funktionen auszutauschen. Es handelt sich um eine Reihe von Protokollen und Regeln, die festlegen, wie ein API-Client – die Software, die eine Anfrage stellt – mit einem Server kommunizieren kann, um auf Daten und Funktionen zuzugreifen. Durch die Verwendung einer API können Entwickler bereits vorhandene Daten und Services nutzen; und Anwendungseigentümer können dieselben Daten und Dienste gemeinsam nutzen oder vermarkten. 

Endpoints funktionieren ein wenig wie Telefonnummern: So wie ein Benutzer eine Telefonnummer wählt, um eine bestimmte Person oder ein bestimmtes Unternehmen zu erreichen, stellen API-Clients (die Software, die einen API-Aufruf durchführt) eine Endpunkt-URL bereit, um eine bestimmte Ressource zu erreichen. Eine Endpoint URL gibt den Standort einer Ressource auf einem API-Server an und hilft dabei, den API-Client mit der angeforderten Ressource zu verbinden. Es teilt dem Server im Wesentlichen mit, dass „die Ressource, die ich benötige, sich hier befindet“.

API Endpoint können es einem API-Client ermöglichen, alle Arten von Daten von einer API anzufordern. Die Anwendungsfälle reichen von Echtzeit-Updates aus Social-Media-Softwareanwendungen bis hin zu Funktionen wie Audio- oder Videoeinbettung, Abrufen von Nachrichten oder Erstellen eines neuen Beitrags. 

Luftaufnahme einer Autobahn

Bleiben Sie in der Cloud

Abonnieren Sie den wöchentlichen Think-Newsletter und erhalten Sie Tipps von Experten zur Optimierung von Multi-Cloud-Einstellungen in Zeiten von KI.

Warum sind API Endpoints wichtig?

Richtig formatierte und sichere API Endpoints sind ein wichtiger Bestandteil der Funktionsweise von APIs. APIs vereinfachen das Design und die Entwicklung neuer Anwendungen und Dienste (weil sie es Entwicklern ermöglichen, auf bestehenden Funktionen und Diensten aufzubauen) sowie die Integration und Verwaltung vorhandener Anwendungen und Dienste. Sie bieten auch erhebliche Vorteile für Entwickler und Unternehmen im Allgemeinen, darunter eine verbesserte Zusammenarbeit, beschleunigte Innovation, mehr Flexibilität, Skalierbarkeit, Sicherheit und vieles mehr. API Endpoints ermöglichen den Ressourcenaustausch, der eine solche Integration möglich macht.

Damit APIs so funktionieren, wie sie sollten, müssen API Endpoints präzise, intuitiv, auffindbar und authentifiziert sein. Andernfalls kann die Kommunikation zwischen Client und Server ausfallen, was die Funktionalität und die Benutzerzufriedenheit einschränkt. Einfach ausgedrückt: API Endpoints ermöglichen es API-Clients, angeforderte Ressourcen und Funktionen erfolgreich zu finden und darauf zuzugreifen.

webMethods Hybrid Integration

Integration für das KI-Zeitalter neu gedacht

IBM Web Methods Hybrid Integration zeigt, wie Unternehmen Cloud- und lokale Anwendungen nahtlos miteinander verbinden und so eine agile und skalierbare digitale Transformation ermöglichen können. 

Wie funktionieren API Endpoints? 

API Endpoints finden sich normalerweise in der Dokumentation einer API, in der Entwickler API-Informationen angeben, z. B. welche Art von Anfragen eine API akzeptiert und wie Anfragen formatiert werden sollten. Idealerweise enthält diese Dokumentation auch eine Liste aller verfügbaren API-Endpunkte und eine kurze Beschreibung ihrer Funktionen.

In einem REST-API-Kontext (ein Software-Architekturstil, der häufig für Webanwendungen verwendet wird) sieht der Prozess wie folgt aus:

Der Prozess startet, wenn ein API-Client eine Ressourcenanforderung (API-Aufruf) an den entsprechenden API-Endpunkt sendet. Der Zugriff auf Endpunkte erfolgt mithilfe von HTTP-Anforderungsmethoden wie POST, GET, PUT, PATCH und DELETE. Diese Methoden geben die Aktion an, die der Kunde für die angegebene Ressource ausführen möchte.

Wenn ein Kunde beispielsweise eine Liste der olympischen Medaillen für ein bestimmtes Jahr aus der hypothetischen Datenbank Olympicfacts.com abrufen möchte, wird eine GET-Anforderung an die folgende Endpunkt-URL gesendet: 

https://api.olympicfacts.com/v1/{year}

Diese Anfrage würde eine Liste aller olympischen Medaillen nach Land wiedergeben. (v1 in unserem hypothetischen Endpunkt gibt die Version der API an, eine gängige Praxis bei der API-Versionierung.) Wenn der Kunde die Gesamtsumme für ein bestimmtes Land in einem bestimmten Jahr wissen möchte, wird der Basis-URL eine Kennung hinzugefügt: 

https://api.olympicfacts.com/v1/year/{id}

In diesem Beispiel wird die Kennung {id} verwendet, um anzugeben, über welches Land der Kunde Informationen erhalten möchte.

Darüber hinaus kann eine Anfrage Folgendes enthalten:

  • Kopfzeilen: Kopfzeilen können zusätzliche Informationen zur Anforderung enthalten, z. B. eine Kopfzeile „Accept“, die akzeptierte Medientypen angibt

  • Parameter: Abfrageparameter können der Basis-URL oder dem Anforderungstext hinzugefügt werden, um Suchkriterien weiter zu filtern oder andere Spezifikationen hinzuzufügen.

  • Anforderungstext: Ein Anforderungstext enthält die Daten, die zum Erstellen oder Ändern einer Ressource erforderlich sind. Wenn die Anfrage zum Beispiel darin besteht, einen neuen Blog zu erstellen (POST-Anfrage), wird der Inhalt des neuen Blogs in den Anfragetext aufgenommen.

Sobald der Server die Anfrage authentifiziert und die Eingabe validiert hat, ruft er die angeforderten Daten ab und gibt die Antwort an den Client zurück. Viele Unternehmen verwenden API Gateways, um diese Funktionen auszuführen und den Fluss des API-Datenverkehrs zu verwalten.

Was ist der Unterschied zwischen REST-API- und GraphQL-Endpunkten?

Eine REST-API (auch RESTful-API oder RESTful-Web-API genannt) ist eine API, die den Designprinzipien des Architekturstils „ Representational State Transfer “ (REST) entspricht.GraphQL ist eine Open-Source-Abfragesprache und serverseitige Laufzeit, die festlegt, wie Clients mit APIs interagieren sollen.2

GraphQL und REST sind beide ressourcenbasierte Technologien, die ähnliche Datenformate unterstützen (JSON und XML, zum Beispiel) und es Kunden ermöglichen, Daten von Servern mithilfe von HTTP-Methoden anzufordern. Sie unterscheiden sich jedoch unter anderem in ihren Abfrageanforderungen und dem Datenabruf. Wir konzentrieren uns auf einen wichtigen endpunktbezogenen Unterschied.

REST-APIs verwenden mehrere Endpunkte und haben für jede Ressource unterschiedliche Endpunkte. Wenn ein Client eine Ressource anfordert, gibt der Server alle Daten zurück, die der Ressource zugeordnet sind, auch wenn der Client nur eine kleine Teilmenge der Daten benötigt. Dies wird als Overfetching bezeichnet. Wenn ein Client Daten benötigt, die auf mehrere Ressourcen verteilt sind, muss er separate API-Aufrufe an jede dieser Ressourcen durchführen, um die benötigten Daten zu kompilieren.

GraphQL stellt Datenmodelle über einen einzigen Endpunkt bereit und verwendet eine Syntax, die es Clients ermöglicht, API-Anfragen in einer oder wenigen Zeilen zu stellen, um genau anzugeben, was sie benötigen. GraphQL-Abfragen können Referenzen zwischen Ressourcen folgen und komplexe Datenabrufaufgaben in einer einzigen Anfrage ausführen. Dies trägt dazu bei, Probleme mit zu wenig und zu viel Abrufen zu vermeiden und mehrere API-Aufrufe durchzuführen.

Weder REST- noch GraphQL-APIs sind von Natur aus überlegen; es sind unterschiedliche Tools, die für unterschiedliche Aufgaben geeignet sind.3

Wie werden API-Tests durchgeführt?

Der Schlüssel zu jedem guten API-Design ist die Testphase. Moderne Anwendungen nutzen oft APIs, um Funktionen von anderer Software zu integrieren, oder werden mithilfe von Microservices-Architekturen erstellt (die auf APIs für die Kommunikation zwischen verteilten Services angewiesen sind). Das Testen von API-Endpunkten ist für die Gewährleistung der Zuverlässigkeit unerlässlich.

Es gibt sowohl manuelle Testoptionen für APIs als auch Testoptionen, die eine Automatisierung verwenden, sowie zahlreiche Testtools und Plattformen (sowohl Open Source als auch proprietäre), die Unternehmen verwenden können.

Manuelle API Endpointtests können langsamer und weniger effizient sein, sind aber auch präziser und auf spezifische Anwendungsfälle zugeschnitten. Bei funktionalen Tests wird einfach eine Anfrage aus einer Anwendung gesendet, um sicherzustellen, dass die richtige Antwort gegeben wird. In einem Beispiel für soziale Medien könnte dies bedeuten, dass Sie eine Anfrage nach einem neuen Beitrag eines bestimmten Benutzers senden und überprüfen, ob der zurückgegebene Beitrag tatsächlich der richtige ist.

Andere Arten von manuellen Tests umfassen: 

  • Senden vieler Anfragen auf einmal, um zu sehen, wie der Server das Laden von Anfragen verarbeitet

  • Überprüfen, ob die API ordnungsgemäß mit anderen Services integriert ist

  • Bestimmen der Geschwindigkeit und der Antwortzeit einer bestimmten Anfrage

  • Absichtliches Stellen einer ungültigen Anfrage, um zu überprüfen, ob die richtige Fehlermeldung zurückgegeben wird

Automatisierte Tests, die über eine API Management- Plattform durchgeführt werden, können mehrere Vorteile bieten:

  • Reduziert die Möglichkeit menschlicher Fehler

  • Ist effizienter bei der Überprüfung der Gültigkeit mehrerer API-Endpunkte

  • Kann die Testgeschwindigkeit verbessern und auf lange Sicht potenziell die Kosten senken, sobald automatisierte Testsysteme eingerichtet sind (z. B. Zeitersparnis für die Mitarbeiter)

  • Richtet Tests nach einheitlichen Protokollen, Standards und Berechtigungen aus

Im Allgemeinen sollte immer die gewünschte Antwort zurückgegeben werden, was das Format, die zurückgegebenen Daten und den Statuscode betrifft.

So sichern Sie API-Endpunkte

Da API-Endpunkte sowohl internen als auch externen Anwendungen und Systemen die Möglichkeit bieten, auf Daten zuzugreifen und diese zu integrieren, stellen sie auch einen potenziellen Einstiegspunkt für böswillige Akteure dar. Distributed Denial of Service (DDoS)-Angriffe können legitime Anfragen in absurden Mengen verwenden, um einen Server zu überfluten. Andere Arten von Angriffen könnten versuchen, mithilfe von API-Endpunkten mehr Informationen zu extrahieren, als der Client empfangen darf, oder API-Endpunkte zu nutzen, um Malware oder bösartigen Code zu installieren.

Es gibt mehrere Möglichkeiten, wie ein Unternehmen die Sicherheit seiner API-Endpunkte und die gesamte API-Sicherheit gewährleisten kann, darunter:

Authentifizierungsmechanismen

Authentifizierungsmethoden wie API-Schlüsselauthentifizierung und OAuth stellen sicher, dass nur autorisierte Benutzer auf Daten zugreifen können.

HTTPS

HTTPS (eine sicherere Version des Hypertext Transfer Protocol oder HTTP) verwendet Transport Layer Security (TLS), um die Kommunikation zwischen Client und Server zu verschlüsseln. Dies erhöht die Sicherheit der Datenübertragungen.

Ratenbegrenzung

Ratenbegrenzung ist ein allgemeiner Begriff, der sich auf Bemühungen bezieht, eine maximale Anzahl von Anfragen festzulegen, was dazu beitragen kann, DDoS-Angriffe zu verhindern und die Systemstabilität aufrechtzuerhalten. Verschiedene Grenzwerte können auch auf verschiedene API-Endpunkte angewendet werden.

Geofilterung

Wenn Angriffe von einem bestimmten Standort aus generiert werden, kann Geofilterung verwendet werden, um den Zugriff von diesen Standorten aus zu blockieren oder einzuschränken.

API-Gateways

Ein API-Gateway ist eine Software-Ebene, die als Vermittler zwischen Client-Geräten und Servern fungiert. Es ist ein zentraler Punkt, der alle API-Aufrufe entgegennimmt und sie an die gewünschten Dienste weiterleitet. Viele dieser Sicherheitsfunktionen (zusätzlich zu den Funktionen API Monitoring und Analyse) können in einem API-Gateway implementiert werden, und die Verwendung eines Gateways fördert die konstante Anwendung von Sicherheitsprotokollen in einer API-Umgebung.

Was ist der Unterschied zwischen einer Ressource und einem API-Endpunkt?

API-Ressourcen sind Datensätze oder Objekte, die APIs bereitstellen. Die Ressourcen variieren je nach der jeweiligen API, aber zu den Inhaltstypen gehören Text, Tabellen, Quelldateien, Audio, Video, Bilder, Benutzer, Produkte und vieles mehr.

Ein API-Endpunkt ist der spezifische Standort dieser Ressourcen auf einem Server. Es ist ein Kontaktpunkt zwischen einem API-Client und einem Server, an den API-Aufrufe geleitet werden.

Stellen Sie sich einen Brancheneintrag für ein Geschäft vor. Die Auflistung enthält den Standort des Geschäfts (Endpunkt) und wie Sie es kontaktieren können, um Informationen wie Öffnungszeiten und Produktbestand (Ressourcen) zu erhalten.

Was ist der Unterschied zwischen einem API-Schlüssel und einem API-Endpunkt?

Ein API-Schlüssel ist eine Methode zum Überprüfen und Authentifizieren der Identität und Authentizität eines Clients, der einen API-Aufruf tätigt. API-Schlüssel sind Zeichenfolgen aus zufällig generierten Zeichen, die von einem API-Anbieter an registrierte API-Benutzer ausgegeben werden. Wenn ein Client-Gerät einen API-Aufruf tätigt, schließt es den API-Schlüssel ein. Das API-Gateway oder der API-Server, der den Anruf empfängt, überprüft zuerst den Schlüssel, um die Identität des Clients zu bestätigen, bevor die API-Anforderung erfüllt wird. Wenn der Schlüssel mit keinem der zulässigen Schlüssel übereinstimmt, lehnt der Server den API-Aufruf ab und gibt eine Ablehnungsnachricht aus.

Unternehmen verwenden API-Schlüssel, um einzelne Kunden und Projekte zu authentifizieren, Verkehrsmuster zu verfolgen und zu identifizieren, unerwünschte Nutzung zu blockieren und vieles mehr.

API-Endpunkte fungieren, wie bereits erwähnt, als Schnittstelle zwischen Clients und Servern, an die API-Clients Anforderungen für bestimmte Daten oder Funktionen von einer API weiterleiten. API-Schlüssel können verwendet werden, um die Sicherheit der gesamten API-Umgebung eines Unternehmens und ihrer API-Integrationen zu verbessern.

Weiterführende Lösungen
IBM webMethods Hybrid Integration

KI-gestützte Automatisierung skaliert die Agilität über APIs, Apps, Events, Dateien und B2B/EDI hinweg.

IBM webMethods Hybrid Integration erkunden
Integrationssoftware und -lösungen

Erschließen Sie Ihr Geschäftspotenzial mit IBM Integrationslösungen, die Anwendungen und Systeme für den schnellen und sicheren Zugriff auf wichtige Daten verbinden.

Erkunden Sie Cloud-Integrationslösungen
Cloud-Beratungsleistungen 

Schalten Sie neue Funktionen frei und steigern Sie die geschäftliche Agilität mit IBM Cloud Consulting Services. Entdecken Sie, wie Sie mit Hybrid-Cloud-Strategien und Expertenpartnerschaften gemeinsam Lösungen entwickeln, die digitale Transformation beschleunigen und die Leistung optimieren können.

Mehr über Cloud-Services
Machen Sie den nächsten Schritt

 

IBM webMethods Hybrid Integration bietet eine einheitliche Benutzeroberfläche und Steuerungsebene für Integrationsmuster, Anwendungen, APIs, B2B und Dateien und skaliert Agilität über Standorte, Umgebungen und Teams hinweg.

 

 

IBM webMethods Hybrid Integration erkunden Erleben Sie die Lösung in Aktion
Fußnoten

Was ist eine REST-API?“, IBM.com

Was ist GraphQL?“, Chrystal China, Michael Goodwin, 8. Dezember 2023

GraphQL vs. REST API: Was ist der Unterschied?“, Chrystal China, 29. März 2024