APIs sind die Nahtstellen, an denen Teile einer App — und ganze Firmen — zusammenspielen. Kennst du das Wort, kannst du dem Agenten präzise sagen: „Bau einen Endpunkt, um einen Instagram-Beitrag zu löschen.“
Die Idee
Eine API ist wie eine Speisekarte. Du gehst nicht in die Küche und kochst selbst. Du bestellst aus einer festen Liste, die Küche kümmert sich um den Rest. Die API ist diese Liste an möglichen Bestellungen.
Instagrams App redet die ganze Zeit über so eine Speisekarte mit Instagrams Servern: „gib mir den Feed“, „speichere diesen Beitrag“, „setze ein Like auf Beitrag p_184029“. Du siehst nur schöne Buttons — darunter werden Menüpunkte bestellt.
So funktioniert es
Jeder Menüpunkt heißt Endpunkt — eine bestimmte Anfrage, die das Backend beantworten kann. Kombiniert aus einer Methode und einem Pfad. Eine kleine Instagram-API könnte so aussehen:
GET /feed → Liste der Beiträge holen
POST /api/posts → neuen Beitrag anlegen
POST /api/posts/:id/like → Beitrag liken
DELETE /api/posts/:id → eigenen Beitrag löschen
Der Body eines POST reist als JSON. So legst du einen Beitrag an:
{
"caption": "Sonnenuntergang über Berlin",
"imageUrl": "https://cdn.example/p/a1b2.jpg"
}
Und das Backend antwortet mit dem fertigen Objekt, jetzt mit id, author, likeCount und createdAt gefüllt. :id in /api/posts/:id ist ein Platzhalter für eine konkrete Beitrags-ID.
flowchart LR
A[Instagram-Frontend] -->|POST /api/posts + JSON| B[Backend-API]
B --> C[(Datenbank)]
B -->|GET /feed| A
Deine eigene App nutzt ihre eigene API; zusätzlich rufst du fremde APIs auf — für Karten, Zahlungen oder E-Mail bekommst du fertige Fähigkeiten, ohne sie selbst zu bauen. Die meisten modernen Apps sind größtenteils Kleber zwischen APIs.
So steuerst du es
Ressourcen benennt man als Nomen im Plural (/posts, /posts/42), nicht als Verben (/getPost ist schlechter Stil). Neben GET/POST gibt es PUT/PATCH (ändern) und DELETE (löschen). Wichtig: GET darf nichts verändern — sonst löst ein simples Neuladen ungewollt Aktionen aus.
So sagst du es dem Agenten:
„Lege eine kleine JSON-API an:
GET /feedliefert alle Beiträge,POST /api/postslegt einen an. Prüfe den Body serverseitig.“„Füge
DELETE /api/posts/:idhinzu; nur der Autor darf löschen, sonst403.“„Benenne Endpunkte als Nomen im Plural und lass
GETnie Daten verändern.“
Typische Fehler: fehlende Eingabe-Prüfung; kein Statuscode bei Fehlern; Geheimnisse (API-Schlüssel für fremde Dienste) im Frontend statt im Backend.
Kurz-Check
- Wofür ist eine API eine gute Analogie?
- Was ist der Unterschied zwischen
GET /feedundPOST /api/posts? - Warum darf
GETkeine Daten verändern?
Antworten anzeigen
- Eine Speisekarte: eine feste Liste an möglichen Anfragen.
GET /feedholt die Beiträge, ohne etwas zu ändern;POST /api/postslegt einen neuen Beitrag an.- Weil Browser und Zwischenspeicher
GET-Anfragen jederzeit wiederholen dürfen — Änderungen würden ungewollt mehrfach passieren.