Blog

Postman: APIs ohne Client entwickeln und testen

Ashton Hsu
August 17, 2020

In diesem Artikel werden beispielhafte HTTP-Anfragen in einer Backend-Entwicklungsumgebung unter Verwendung einiger nützlicher Postman-Funktionen beschrieben. Postman ist ein Entwicklertool, mit dem Benutzer API-Anfragen stellen können.

Das Backend-Entwicklungsdilemma

Während der Produktentwicklung müssen wir oft Backend-API-Endpunkte erstellen, haben aber keine einfache Möglichkeit, die Arbeit zu testen. Was ist zum Beispiel, wenn die neuesten Frontend-Funktionen noch entwickelt werden, der Backend-Entwickler jedoch eine Möglichkeit benötigt, seine neuen API-Endpunkte zu testen? Eine Möglichkeit besteht darin, cURL-Anfragen im Terminal zu stellen, was das mühsame Analysieren einer Textwand erfordern würde, um Änderungen vorzunehmen.

Den Überblick zu behalten und HTTP-Anfragen zu ändern, kann schnell unhandlich werden. Postman behebt diese Probleme, indem es HTTP-Anfragen organisiert und verwaltet. Ich werde einige Möglichkeiten durchgehen, wie es helfen kann.

Postman verwenden, um einen Benutzer zu authentifizieren

Der Endpunkt, den ich entwickle, benötigt ein JSON-Web-Token (JWT) zur Authentifizierung, bevor ich meinen neuen Code ausführen kann. Ich werde Postman verwenden, um einen Benutzer zu authentifizieren, ein JWT in zukünftigen API-Anfragen zu speichern und zu senden

Umgebungen und Variablen

Postman-Variablen ermöglichen es Ihnen, Werte in Ihren Anfragen und Skripten zu speichern und wiederzuverwenden. Anstatt dieselbe E-Mail oder ObjectID in alle Anfragen zu kopieren und einzufügen, ermöglichen Ihnen Variablen, sie an einem Ort zu speichern und zu aktualisieren, damit sie wiederverwendet werden können. Sätze verwandter Variablen werden in Umgebungen wie Local, Staging, Production usw. gruppiert. Um eine neue lokale Umgebung und Variablen einzurichten:

  1. Klicken Sie auf das graue Zahnradsymbol in der oberen rechten Ecke
  1. Klicken Sie auf „Hinzufügen“
  2. Nennen Sie Ihre Umgebung „lokal“
  3. Fügen Sie eine neue Variable mit dem Namen „email“ hinzu und setzen Sie den Wert auf testuser@floqast.com
  4. Fügen Sie eine weitere Variable mit dem Namen „password“ hinzu und setzen Sie den Wert auf passwort123
  5. Fügen Sie eine weitere Variable mit dem Namen „host“ hinzu und setzen Sie den Wert auf http://localhost:3000
  6. Speichern Sie Ihre Umgebung, indem Sie auf „Hinzufügen“ klicken
Eine Login-Anfrage stellen

Sie können Ihre neuen Umgebungsvariablen verwenden, indem Sie die Variablennamen in Ihren Anfragen in doppelte geschweifte Klammern einschließen. Zusammenstellen:

  1. Stellen Sie eine neue POST-Anfrage an die URL {{host}} /api/login
  2. Fügen Sie unter dem Body-Tab diese JSON-Payload ein, die Ihre E-Mail-Adresse und Ihr Passwort enthält
    {
    „E-Mail“: "{{E-Mail}}“,
    „Passwort“: "{{Passwort}}“,
    }
  3. Wenn Sie auf „Senden“ klicken, sollte eine 200-Antwort mit einem JWT im Text zurückgegeben werden
    {
    „jwt“ :"mein_jwt_token“
    }

Der nächste Schritt wäre, das JWT als Umgebungsvariable zu speichern, um es in zukünftigen Anfragen zu verwenden. Anstatt mein JWT manuell als Variable hinzuzufügen, bietet Postman eine alternative Methode durch Scripting.

Skripting

Postman enthält eine JavaScript-Ausführungsumgebung, mit der Sie JavaScript vor und nach Anfragen ausführen können. Mithilfe von Skripten können Sie Payloads ändern, Variablen aus Antworten analysieren und speichern und vieles mehr. Die Postman-Ausführungsreihenfolge für Skripte sieht wie folgt aus:

Ich werde mich in das Post-Request-Skript einklinken, um mein JWT als Variable zu speichern. Klicken Sie unter der Anmeldeanfrage auf „Tests“ und fügen Sie das Snippet ein

var response  = JSON.parse(responseBody);
// assign environment variable
pm.environment.set("JWT", response.jwt);

Da ich mein JWT als Umgebungsvariable gespeichert habe, kann ich mein JWT in allen meinen Anfragen, die eine Authentifizierung erfordern, wiederverwenden. Mein JWT wird in meinem „Authorization“ -Header für Anfragen benötigt, die ich einfach setzen kann.

An dieser Stelle kann ich authentifizierte HTTP-Anfragen an neue API-Routen stellen, die ich gerade entwickle.

Letzte Gedanken

In diesem Beitrag habe ich einige nützliche Postman-Funktionen besprochen, die die API-Entwicklung ohne Frontend vereinfachen. Darüber hinaus ist Postman aufgrund seines vollen Funktionsumfangs ein flexibles und unverzichtbares Tool für die API-Entwicklung, das die Probleme der Entwickler reduziert und den Entwicklungsprozess beschleunigt.

Weiterführende Lektüre