Zum Hauptinhalt springen

Was sind APIs?

Definition und Grundkonzept

Eine API (Application Programming Interface) ist eine Programmierschnittstelle, die es verschiedenen Anwendungen ermöglicht, miteinander zu kommunizieren. Sie definiert die Regeln und Protokolle, wie Software-Komponenten interagieren können.

API - Erklärt mit einem Restaurant

Stell dir vor, du sitzt in einem Restaurant:

waitress

Die Hauptakteure

  • Du bist der Client - der Gast, der etwas bestellen möchte
  • Der Kellner ist die API - er nimmt deine Wünsche entgegen
  • Die Küche ist der Server - hier wird deine Bestellung zubereitet
  • Die Speisekarte ist die API-Dokumentation - sie zeigt dir, was möglich ist

Wie funktioniert das?

  1. Du schaust in die Speisekarte (API-Dokumentation)
  2. Der Kellner (API) nimmt deine Bestellung auf
  3. Er bringt sie in die Küche (Server)
  4. Die Küche bereitet dein Essen zu
  5. Der Kellner bringt dir das fertige Gericht

Warum ist das praktisch?

  • Du musst nicht selbst in die Küche gehen
  • Du musst nicht wissen, wie genau dein Essen zubereitet wird
  • Der Kellner spricht sowohl deine als auch die "Küchen-Sprache"
  • Die Speisekarte zeigt dir genau, was du bestellen kannst

Weitere API Aspekte

Error Handling

  • "Tut mir leid, die Küche hat kein Rindfleisch mehr" (404 - Not Found)
  • "Diese Zutat gibt es bei uns nicht" (400 - Bad Request)
  • "Die Küche ist gerade überlastet" (503 - Service Unavailable)

Authentifizierung

  • Reservierung prüfen
  • Tisch-Nummer angeben
  • Bezahlmethode hinterlegen

Rate Limiting

  • "Pro Person maximal 3 Hauptgerichte"
  • "Große Gruppen bitte vorher anmelden"

Caching

  • Beliebte Gerichte werden vorbereitet
  • Getränke stehen gekühlt bereit

Was macht der Kellner (API) genau?

  1. Übersetzung

    • Deine Bestellung → Küchen-Sprache
    • Küchen-Antworten → Gäste-Sprache
  2. Validierung

    • Prüft, ob Bestellung möglich ist
    • Fragt nach bei Unklarheiten
  3. Routing

    • Bringt Bestellung zur richtigen Küchenstation
    • Liefert fertiges Essen zum richtigen Tisch
  4. Fehlerbehandlung

    • Informiert bei Problemen
    • Bietet Alternativen an

Beispiel-"Requests"

GET /menu
// Kellner bringt dir die Speisekarte

POST /order
{
"dish": "Pizza Margherita",
"extras": ["extra cheese"],
"notes": "knusprig bitte"
}
// Du gibst deine Bestellung auf

GET /status/order?id=1337
// Du fragst nach, wo dein Essen bleibt