coldwa.st
Alle LeitfädenProgrammierungWebDatenWerkzeugeDatenbankenHaskellKonzepteCabal & BuildsToolchainCompilerPerformanceEditor & HLS

Programmierung · Konzepte · Web

Was ist eine API?

Von ColdwastAktualisiert am 14. Juni 20267 Min. Lesezeit#api#web#concepts
Code in einem Editor auf dem Bildschirm
Code in einem Editor — eine API ist die Menge der Aufrufe, die ein Programm bereitstellt, damit Code wie dieser sie nutzt.

Sie hören es ständig: „die API aufrufen“, „die öffentliche API“, „ein API-Schlüssel“. Eine API (Application Programming Interface) ist eine der nützlichsten Ideen der Software — und eine der am meisten mit Fachjargon überladenen. Dieser Leitfaden erklärt einfach, was eine API ist, welche Haupttypen Ihnen begegnen, wie eine typische Web-API-Anfrage funktioniert und warum APIs überall sind.

Die kurze Definition

Eine API ist ein Vertrag, der es einer Software ermöglicht, mit einer anderen zu kommunizieren. Sie legt fest, welche Anfragen Sie stellen können, welche Daten Sie senden müssen und was Sie zurückbekommen — ohne dass Sie wissen müssen, wie die andere Seite intern aufgebaut ist.

Die klassische Analogie ist das Restaurant. Sie (ein Programm) lesen eine Speisekarte (die API) und geben beim Kellner eine Bestellung auf. Sie betreten die Küche nicht und müssen nicht wissen, wie das Gericht zubereitet wird. Die Speisekarte ist die vereinbarte Schnittstelle; die Küche ist die Implementierung, dahinter verborgen. Eine API ist diese Speisekarte für Software.

Die wichtigsten API-Typen

  • Web-API (die meistdiskutierte) — ein Programm spricht über das Netzwerk mit einem anderen, meist per HTTP. Wenn eine Wetter-App die Vorhersage anzeigt, ruft sie die Web-API eines Wetterdienstes auf. Die meisten modernen Web-APIs folgen dem REST-Stil und tauschen Daten als JSON aus (siehe REST vs. GraphQL und gRPC vs. REST für die wichtigsten Alternativen).
  • Bibliotheks-/Framework-API — die Menge an Funktionen und Typen, die eine Code-Bibliothek bereitstellt, damit Sie sie aufrufen. Wenn Sie eine Datums-Bibliothek nutzen, sind die Funktionen, die sie Ihnen bietet, ihre API.
  • Betriebssystem-API — die Art, wie ein Programm das Betriebssystem bittet, eine Datei zu öffnen, ein Fenster zu zeichnen oder das Netzwerk zu nutzen. POSIX ist eine davon.

Der rote Faden: Eine API ist die veröffentlichte Oberfläche von etwas, der Teil, den Sie nutzen dürfen, getrennt von den internen Abläufen, von denen Sie nicht abhängen sollen.

Eine Person hält ein Smartphone mit beiden Händen
Ein Smartphone im Gebrauch — die enthaltenen Apps rufen im Hintergrund ständig Web-APIs auf, um Nachrichten, Karten, Preise und mehr abzurufen.

Wie eine Web-API-Anfrage funktioniert

Ein Web-API-Aufruf ist eine Anfrage und eine Antwort. Der Client sendet eine HTTP-Anfrage an eine URL (einen Endpunkt) mit einer Methode, die seine Absicht signalisiert, und der Server gibt einen Statuscode und meist Daten zurück. Die gängigen Methoden:

  • GET — Daten lesen („gib mir Benutzer 42“).
  • POST — etwas Neues erstellen.
  • PUT / PATCH — etwas aktualisieren.
  • DELETE — etwas löschen.

Eine einfache Anfrage zum Lesen eines Benutzers könnte so aussehen, wobei der Server mit JSON antwortet:

GET /users/42  HTTP/1.1
Host: api.example.com

-- response --
200 OK
{ "id": 42, "name": "Ada", "active": true }

Die 200 ist ein Statuscode, der Erfolg bedeutet; 404 bedeutet nicht gefunden, 401 nicht authentifiziert, 500 ein Serverfehler. Der Body ist JSON — das leichtgewichtige, menschenlesbare Format, das die meisten Web-APIs zum Austausch strukturierter Daten nutzen.

Authentifizierung und Schlüssel

Viele APIs verlangen, dass Sie sich mit einem API-Schlüssel oder Token ausweisen, gesendet in einem Anfrage-Header. So kann der Anbieter steuern, wer den Dienst nutzt, Ratenbegrenzungen durchsetzen und die Nutzung abrechnen. Halten Sie Schlüssel geheim — ein durchgesickerter Schlüssel ist wie ein durchgesickertes Passwort.

Warum APIs wichtig sind

APIs sind das, was es ermöglicht, Software zu komponieren, statt sie neu zu bauen. Ein Shop kann Zahlungen einziehen, ohne eine Bank zu schreiben; eine App kann eine Karte anzeigen, ohne die Welt zu zeichnen; die Dienste eines Unternehmens sprechen über interne APIs miteinander. Sie verwandeln die Fähigkeiten anderer in Bausteine, die Sie mit wenigen Zeilen aufrufen — und das ist im Kern die Art, wie moderne Software entsteht.

Die ehrlichen Grenzen

Eine API ist eine Abhängigkeit. Wenn der Anbieter sie ändert, Sie in der Rate begrenzt, die Preise erhöht oder den Dienst einstellt, ist Ihre Software betroffen — deshalb sind gute APIs versioniert und dokumentiert, und deshalb behandeln Sie Fehler und Timeouts, statt anzunehmen, dass jeder Aufruf gelingt. Eine API verbirgt Komplexität; sie beseitigt sie nicht.

Zusammengefasst

Eine API ist ein Vertrag, der es einem Programm ermöglicht, die Fähigkeiten eines anderen über eine definierte Menge von Anfragen und Antworten zu nutzen, ohne dessen interne Abläufe zu berühren. Web-/REST-APIs über HTTP mit JSON sind der Typ, dem Sie am häufigsten begegnen, aber die Idee — eine veröffentlichte Schnittstelle, getrennt von der zugrunde liegenden Implementierung — zieht sich durch Bibliotheken, Betriebssysteme und jedes gut strukturierte Programm. Lernen Sie, die Dokumentation einer API zu lesen, und Sie können fast alles mit allem verbinden.

Neu in einer Sprache zum Bauen oder Aufrufen von APIs? Durchstöbern Sie unseren Guide-Index für klare und originelle Programmiererklärungen.

Unabhängiger, von der Community gepflegter Leitfaden. coldwa.st ist eine Programmier-Ressourcen-Website; dieser Artikel ist ein neuer und origineller erklärender Text über APIs. Die Beispiele spiegeln das Standardverhalten von HTTP/REST wider — prüfen Sie es anhand der Dokumentation der konkreten API, die Sie verwenden.