Postman ist das weltweit meistgenutzte Tool zum Entwickeln, Testen und Dokumentieren von APIs. Mit über 25 Millionen Nutzern weltweit hat es sich als Standard in der API-Entwicklung etabliert – und das nicht ohne Grund. Es bietet eine intuitive grafische Oberfläche, mit der sich HTTP-Anfragen senden, Antworten analysieren, Tests automatisieren und API-Workflows abbilden lassen. Diese Anleitung führt dich von den Grundlagen bis zu fortgeschrittenen Features.
Was ist eine API und warum Postman?
Eine API (Application Programming Interface) ist eine definierte Schnittstelle, über die Softwarekomponenten miteinander kommunizieren. REST-APIs verwenden dabei HTTP als Transportprotokoll und übermitteln Daten üblicherweise im JSON-Format. Wenn eine mobile App Wetterdaten anzeigt, kommuniziert sie über eine API mit einem Server. Wenn ein Webshop Zahlungen verarbeitet, spricht er über eine API mit dem Zahlungsdienstleister.
Postman löst das Problem, dass REST-APIs mit einem normalen Browser schwer testbar sind. Während ein Browser nur GET-Anfragen aus der Adressleiste schicken kann, erlaubt Postman das Senden beliebiger HTTP-Methoden, das Setzen von Headern, das Anhängen von Request-Bodys und das Speichern aller Anfragen in strukturierten Collections.
Installation: Desktop vs. Web
Postman ist sowohl als Desktop-App (Windows, macOS, Linux) als auch als Web-Version unter web.postman.co verfügbar. Für die meisten Anwendungsfälle empfiehlt sich die Desktop-App, da sie auch Anfragen an lokale Server (localhost) ohne zusätzliche Konfiguration unterstützt. Die Web-Version benötigt dafür den Postman Agent, einen kleinen lokalen Daemon.
Ein kostenloses Konto ist für die Grundfunktionen ausreichend. Die Registrierung ist optional für reine Desktop-Nutzung, aber für die Sync-Funktion zwischen Geräten und für Team-Features erforderlich.
Die erste GET-Anfrage senden
Nach dem Start von Postman erstellst du eine neue Anfrage über das Plus-Symbol oder Strg + T. Im Adressfeld gibst du eine API-URL ein, zum Beispiel die öffentliche Test-API https://jsonplaceholder.typicode.com/posts/1. Die Methode bleibt auf GET. Ein Klick auf „Send" schickt die Anfrage ab – im unteren Bereich erscheint die Antwort des Servers: Status-Code (z. B. 200 OK), Antwortzeit, Datenmenge und der Response-Body im JSON-Format.
HTTP-Methoden im Überblick
REST-APIs verwenden unterschiedliche HTTP-Methoden, um verschiedene Operationen auszudrücken. Das folgende Standardmodell orientiert sich an CRUD (Create, Read, Update, Delete):
| Methode | Zweck | Typischer Use Case | Request-Body? |
|---|---|---|---|
| GET | Daten abrufen | Produktliste laden, Nutzerdetails abfragen | Nein |
| POST | Neue Ressource erstellen | Neuen Nutzer anlegen, Bestellung aufgeben | Ja (JSON/Form) |
| PUT | Ressource vollständig ersetzen | Komplettes Nutzerprofil aktualisieren | Ja (vollständiges Objekt) |
| PATCH | Ressource teilweise ändern | Nur E-Mail-Adresse eines Nutzers ändern | Ja (geänderte Felder) |
| DELETE | Ressource löschen | Kommentar oder Produkt entfernen | Selten |
Headers und Authentifizierung
Viele APIs erfordern Authentifizierung. Postman unterstützt alle gängigen Methoden über den „Authorization"-Tab:
- Bearer Token: Ein JWT oder OAuth-Token wird als
Authorization: Bearer <token>Header übertragen. Häufigste Methode bei modernen REST-APIs. - API Key: Ein statischer Schlüssel wird entweder als Header (
X-API-Key) oder als Query-Parameter übertragen. - OAuth 2.0: Postman kann den kompletten OAuth-Flow durchführen und den Access-Token automatisch besorgen und erneuern.
- Basic Auth: Benutzername und Passwort werden Base64-kodiert übertragen. Nur über HTTPS sicher.
Collections und Environments
Eine Collection ist eine organisierte Sammlung von API-Anfragen. Du kannst Anfragen in Ordner gruppieren (z. B. „Nutzer", „Produkte", „Bestellungen") und die gesamte Collection exportieren oder mit Teamkollegen teilen. Collections sind die Grundlage für die API-Dokumentation.
Environments ermöglichen es, Variablen für verschiedene Umgebungen zu definieren. Statt die URL in jeder Anfrage manuell zu ändern, definierst du eine Variable {{base_url}} und setzt sie im Entwicklungs-Environment auf http://localhost:3000 und im Produktions-Environment auf https://api.example.com. Dasselbe gilt für Tokens, API-Keys und andere Konfigurationswerte.
Automatisierte Tests mit JavaScript
Im „Tests"-Tab jeder Anfrage kannst du JavaScript-Snippets schreiben, die nach dem Absenden der Anfrage ausgeführt werden. Die Postman-API stellt dabei das pm-Objekt bereit. Beispiele für häufige Tests:
pm.test("Status 200", () => pm.response.to.have.status(200));pm.test("Antwort ist JSON", () => pm.response.to.be.json);pm.test("Name vorhanden", () => pm.expect(pm.response.json().name).to.exist);
Über den Collection Runner (Runner-Button) kannst du alle Anfragen einer Collection automatisch hintereinander ausführen – ideal für Regressionstests nach einem Deployment.
Mock Server
Ein Mock Server simuliert eine API, ohne dass ein echter Backend-Server laufen muss. In Postman kannst du für eine Collection einen Mock Server erstellen und für jede Anfrage Beispielantworten hinterlegen. Frontend-Entwickler können so parallel zum Backend-Team arbeiten, ohne auf echte API-Endpunkte angewiesen zu sein.
Postman vs. Alternativen im Vergleich
| Tool | Plattform | Open Source | Stärken | Schwächen |
|---|---|---|---|---|
| Postman | Desktop + Web | Nein | Umfangreich, großes Ökosystem, Team-Features | Ressourcenintensiv, Account-Pflicht für Sync |
| Insomnia | Desktop | Teilweise | Schlank, übersichtlich, GraphQL-Support | Weniger Team-Features als Postman |
| Bruno | Desktop | Ja | Dateibasiert (Git-freundlich), kein Account | Jüngeres Ökosystem, weniger Drittanbieter-Integrationen |
| curl | Terminal | Ja | Überall verfügbar, skriptbar, kein GUI nötig | Keine GUI, steile Lernkurve für komplexe Anfragen |
Häufig gestellte Fragen (FAQ)
- Kann ich Postman für GraphQL-APIs verwenden?
- Ja. Postman unterstützt GraphQL nativ. Du kannst Queries, Mutations und Subscriptions im speziellen GraphQL-Editor verfassen, der auch Autovervollständigung basierend auf dem API-Schema bietet.
- Wie exportiere ich meine Collections für andere?
- Über das Drei-Punkte-Menü einer Collection kannst du „Export" wählen. Die Collection wird als JSON-Datei gespeichert, die andere Nutzer über „Import" wieder einlesen können. Alternativ kannst du Collections über einen geteilten Workspace oder einen öffentlichen Link teilen.
- Was ist der Unterschied zwischen Pre-request Script und Tests in Postman?
- Pre-request Scripts werden ausgeführt, bevor die Anfrage abgesendet wird – ideal zum Setzen von Variablen oder zum Generieren von Timestamps. Tests laufen nach dem Empfang der Antwort und prüfen, ob das Ergebnis den Erwartungen entspricht.
- Ist Postman für die Nutzung in CI/CD-Pipelines geeignet?
- Ja. Mit dem Kommandozeilentool Newman (dem Postman-Runner für die CLI) können Collections und Environments in beliebige CI/CD-Systeme wie GitHub Actions, GitLab CI oder Jenkins integriert werden. Newman gibt Test-Ergebnisse im JUnit-Format aus.
