Einführung in Postman mit unserer REST-API
Hier findest du eine Schritt-für-Schritt-Anleitung, wie du Postman nutzt, um unsere kürzlich erstellte Express-API zu testen.
1. Installation und Einrichtung
- Lade Postman herunter: Postman Download.
- Installiere und öffne die Anwendung.
2. Erstellen einer neuen Anfrage
- Klicke oben auf New und wähle Request.
- Gib deiner Anfrage einen Namen und speichere sie entweder in einem neuen oder bestehenden Ordner.
- Gib die URL deines Servers ein, z.B.,
http://localhost:3000/products
.
3. HTTP-Methoden in Postman
Unsere API unterstützt die gängigen HTTP-Methoden. Hier sind die wichtigsten:
- GET: Daten abrufen (z.B. eine Liste von Produkten).
- POST: Neue Daten erstellen (z.B. ein neues Produkt hinzufügen).
- PUT: Bestehende Daten aktualisieren (z.B. ein Produkt bearbeiten).
- DELETE: Daten löschen (z.B. ein Produkt entfernen).
Die HTTP-Methode kannst du über das Dropdown-Menü links neben der URL auswählen.
4. Header hinzufügen
- Öffne den Headers-Tab, um Header-Informationen hinzuzufügen.
- Typische Header, die du für unsere API brauchst:
- Content-Type:
application/json
(um JSON-Daten zu übermitteln).
- Content-Type:
5. Body der Anfrage definieren
Für POST und PUT-Anfragen brauchen wir einen Body, um Daten an unsere API zu senden.
-
Gehe in den Body-Tab und wähle raw sowie JSON.
-
Gib hier die Daten im JSON-Format ein, z.B. beim Erstellen eines Produkts:
{
"name": "Tablet",
"description": "Ein modernes Tablet",
"price": 199.99
}
6. Parameter hinzufügen
- Query-Parameter: Klicke auf Params und gib Parameter als Key-Value-Paare ein. Diese werden automatisch an die URL angehängt, z.B. für Filterungen
?sort=price_asc
. - Path-Parameter: Füge in der URL den Parameter direkt ein, z.B.
http://localhost:3000/products/1
, um das Produkt mit der ID1
abzurufen oder zu aktualisieren.
7. Anfrage senden und Antworten prüfen
- Klicke auf Send, um die Anfrage an die API zu senden.
- Im unteren Bereich siehst du die Antwort der API, einschließlich:
- Status Code (z.B.
200 OK
für erfolgreiche Anfragen oder404 Not Found
, wenn die Ressource nicht existiert). - Antwortdaten im JSON-Format oder anderen Formaten, die die API zurückgibt.
- Status Code (z.B.
8. Collections: Anfragen organisieren
- Speichere alle Anfragen für das Projekt in einer Collection.
- Erstelle eine neue Collection und füge die verschiedenen Anfragen (GET, POST, PUT, DELETE) hinzu. So kannst du alle Endpunkte unserer API an einem Ort verwalten.
9. Umgebungsvariablen verwenden
- Environment Variables in Postman erleichtern die Verwaltung von URLs und anderen Variablen wie Tokens.
- Erstelle eine neue Umgebung und füge Variablen hinzu, z.B.,
{{base_url}}
für die Basis-URLhttp://localhost:3000
. - Setze dann
{{base_url}}
in der URL der Anfragen ein, um sie zentral zu verwalten. Bei Änderungen musst du dann nur die Umgebungsvariable anpassen.
10. Automatisierung und Tests
-
Postman ermöglicht es, Tests in JavaScript zu schreiben. Damit kannst du sicherstellen, dass die API wie erwartet funktioniert.
-
Gehe in den Tests-Tab einer Anfrage und füge Tests hinzu, z.B. um zu prüfen, ob der Statuscode
200
zurückgegeben wird:pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
}); -
Du kannst auch Tests schreiben, um sicherzustellen, dass die zur ückgegebenen Daten wie erwartet aussehen.
Aufgabe: Implementierung der Query-Parameter
TASK: Füge Query-Parameter zur Sortierung der Produkte der API hinzu.
Nutze dafür:
- Query-Parameter:
?sort=price_asc
und?sort=price_desc
. - Array sortieren: Implementiere die Sortierung der Produkte nach Preis in auf- und absteigender Reihenfolge. Nutze dafür JavaScript-Methoden wie
sort()
.
Hier ein Beispiel wie mit JavaScript sortiert wird:
const items = [
{ name: "Edward", value: 21 },
{ name: "Sharpe", value: 37 },
{ name: "And", value: 45 },
{ name: "The", value: -12 },
{ name: "Magnetic", value: 13 },
{ name: "Zeros", value: 37 },
];
// sort by value
items.sort((a, b) => a.value - b.value);
// sort by name
items.sort((a, b) => {
const nameA = a.name.toUpperCase(); // ignore upper and lowercase
const nameB = b.name.toUpperCase(); // ignore upper and lowercase
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
// names must be equal
return 0;
});