API-Endpunkte 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 Softwarearchitekturstil, der häufig für Webanwendungen verwendet wird) sieht der Prozess so 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.