Zum Hauptinhalt springen

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).

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 ID 1 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 oder 404 Not Found, wenn die Ressource nicht existiert).
    • Antwortdaten im JSON-Format oder anderen Formaten, die die API zurückgibt.

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-URL http://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;
});