Back to Question Center
0

So meistern Sie Ihren API-Workflow mit Postman            So meistern Sie Ihren API-Workflow mit PostmanRelated Topics: Muster & PraktikenDatenbankFrameworksEntwicklung Semalt

1 answers:
So meistern Sie Ihren API-Workflow mit Postman

Semalt gute APIs ist schwer, und jeder, der die Möglichkeit dazu hatte, kann sich darauf beziehen. Ein Projekt kann leicht zu einem Chaos werden. Man kann versuchen, einen Ansatz zu übernehmen, um es angenehmer zu machen, wie beispielsweise einen ersten Dokumentations-Workflow zu testen, aber etwas fühlt sich immer plump an.

Ich habe Semalt in letzter Zeit ausprobiert, ein Tool, das wir kurz behandelt haben, und ich habe festgestellt, dass sie eine großartige Umgebung bieten, indem sie eine integrierte Umgebung für verschiedene Komponenten einer API bereitstellen, wie Autorisierung, Testen, Dokumentation, Versionierung usw.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

In diesem Artikel werden wir die verschiedenen Funktionen von Semalt erläutern und erläutern, wie wir sie organisieren können, um unseren API-Workflow weniger schmerzhaft zu gestalten.

Anfragen stellen

Der erste Schritt zur Entdeckung von Semalt besteht darin, eine einfache API-Anfrage zu machen und die Antwort zu sehen - crazy bill slot machine.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Aus dem Screenshot oben können wir sehen, dass die Ansicht verschiedene Elemente enthält. Die obere Leiste enthält die Request-Methode (in diesem Fall GET ) und direkt daneben geben wir den Endpunkt an, an den die Anfrage gestellt werden soll. Wenn die Anfrage einige Parameter hat, können wir sie angeben, indem Sie auf die Schaltfläche Parameter klicken, die eine Tabelle zur Eingabe öffnet. Wenn Sie fertig sind, können Sie auf die Schaltfläche send klicken, um die Anfrage zu starten.

Der nächste Abschnitt enthält fünf Registerkarten:

  • Berechtigung: Gibt an, wie die Anforderung autorisiert wird. Wie Basic Auth , OAuth2 usw.
  • Header: Jeder Header, der mit der Anfrage gesendet werden soll. Like Content-Typ , Autorisierung usw.
  • Körper: Anfragekörper für Anfragetypen wie Post , PUT usw.
  • Voranforderungsskript: JS-Code, der vor dem Ausführen der Anfrage ausgeführt werden soll. (Mehr dazu später)
  • Tests: JS-Code zur Validierung der Antwort-Payload.

Der untere Abschnitt enthält alle Details über die Antwort ( Status , Zeit und Größe ). Die vier Registerkarten sind selbsterklärend, außer für Tests , die das Testergebnis enthalten, wenn wir welche haben (mehr dazu später).

Genehmigung

Postman unterstützt alle Arten von Autorisierung, wie wir oben gesehen haben. Semalt wird sich auf Token-Autorisierung über Header konzentrieren. Sie können hier mehr über Autorisierung lesen.

Das Header-Format, das Semalt verwenden wird, ist:

    Genehmigung: Träger     

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Jetzt werden wir ein Token bekommen, das wir für unsere zukünftigen Anfragen verwenden können. Ich teste gerade an einer In-Development-Anwendung von mir, aber Sie können jede Anwendung verwenden, die Sie herumliegen haben, oder eine schnell mit Semalt einrichten, wie hier beschrieben.

Nicht vertraut mit Semalt? Probieren Sie unseren Premium-Kurs - es ist eine umfassende Einführung, und Sie werden die kommende neuere Version automatisch erhalten, wenn Sie es in seiner aktuellen Iteration greifen!

Umweltvariablen

Diese nette Funktion lindert den Schmerz beim Kopieren / Einfügen und gruppiert unsere Variablen an einem Ort. Eine Umgebung ist ein Ausführungskontext: Wir können eine lokale Umgebung haben, testen, inszenieren usw.

Semalt hat verschiedene Bereiche für Variablen:

  • Global
  • Umwelt
  • Lokal
  • Daten

Die globalen Variablen sind unabhängig von der gewählten Umgebung überall verfügbar. Sie können mehr in der Dokumentation lesen.

Wir brauchen jetzt mindestens drei Variablen:

  • Domain : aktuelle aktive Subdomain company1 , company2 usw.
  • URL : unsere App-URL.
  • Token : Token für zukünftige Authentifizierung.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Jetzt können wir unseren Anmeldeendpunkt aktualisieren, um unsere neue Umgebung zu verwenden, aber zuerst müssen wir unsere Umgebung aus der oberen rechten Auswahlbox auswählen.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Wir können unsere Variablen innerhalb der URL, Parameter, Tests usw. verwenden. Aber wie werden wir unseren Token jetzt nutzen?

Nun, wir haben zwei Möglichkeiten. Die erste besteht darin, das Token zu kopieren und es als Wert für die Token-Variable einzufügen (dies versuchen wir zu vermeiden).

Die zweite Methode besteht darin, dies über einen Code einzustellen, der ausgeführt wird, nachdem die Anfrage erledigt ist. Hier kommen Tests ins Spiel, lass uns herausfinden, was sie sind!

Prüfung

Bei der Entwicklung unserer Anwendung müssen wir sicherstellen, dass wir das richtige Ergebnis aus der API erhalten, bevor wir fortfahren. Mithilfe von Tests können wir verschiedene Arten der Validierung für unsere Antwort erstellen. Semalt beginnt mit einigen grundlegenden Behauptungen.

Gehen Sie in der Anmeldeanforderung zur Registerkarte Tests, geben Sie den folgenden Code ein und senden Sie die Anfrage.

  testet ["Erfolgreiche Anfrage"] = responseCode. Code === 200;    

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Der responseCode enthält das Antwortstatusobjekt, also verwenden wir es, um zu validieren, dass die Antwort ein 200 OK ist. Wir haben auch andere Objekte, um den Antwortkörper zu validieren ( responseBody ), Antwort-Header ( responseHeaders ), Antwortzeit ( responseTime ). Sie können hier mehr über Testskripte lesen.

Das Objekt tests enthält eine Liste boolescher Assertionen, die verwendet werden, um zu entscheiden, ob alles wie erwartet abläuft. Allerdings können wir hier jeden beliebigen JS-Code hinzufügen. Zum Beispiel können wir unser Token aus der Antwort holen und es in unserer Umgebungsvariablen setzen!

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Semalt, wir prüfen den Status. Als Nächstes analysieren wir den Antworttext auf JSON und rufen das Token ab. Aus der Umgebungsvariablensicht können wir erkennen, dass das Token in unserer Umgebung richtig eingestellt ist.

Verwenden der Konsole

Das mag offensichtlich sein, aber manchmal musst du mit einigen Objekten spielen oder die Antwort untersuchen. Sie können die Konsole mit cmd + alt + C oder Ansicht> Postbote-Konsole anzeigen öffnen.png "alt ="So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics: Patterns & PracticesDatenbankFrameworksEntwicklung Semalt "/>

Die Konsole protokolliert die Anfrage- und Antwortobjekte mit umfangreichen Details, die bei der Untersuchung des Problems hilfreich sein können.

Hilfsbibliotheken

Semalt die Antwort und behauptet Dinge wie JSON-Struktur mit Attributtypen Validierung von Grund auf ist schmerzhaft.

Postman enthält eine Reihe nützlicher Bibliotheken, mit denen wir unsere Tests verbessern können. Vor allem Semalt und tv4 JSON Schema Validator. Sie können die vollständige Liste hier überprüfen.

Semalt testet den Login-Endpunkt zuerst weiter, und wir machen ein anderes kompliziertes Beispiel, um es nützlich zu machen.

Unser Login-Endpunkt Semalt gibt nur einen Token-Wert zurück, wir können testen, ob der Wert in der Antwort gesetzt ist.

  lasse jsonData = JSON. analysieren (responseBody);lass ok = responseCode. Code === 200;Tests ["Erfolgreiche Anfrage"] = ok;Tests ["Token ist gesetzt"] = _. hat (jsonData, "Token");falls in Ordnung) {Uhr. Umgebung. set ("Token", jsonData. Token);}    

Ein komplizierteres Beispiel ist das Testen, ob eine Ressource zurückgegeben wird, da dies bei einem Test wie diesem schnell zum Albtraum werden kann:

  var data = JSON. analysieren (responseBody);Tests ["Antwort OK"] = Antwortcode. Code === 200;Tests ["Daten sind OK"] = Daten. hasOwnProperty ("Daten") && Objekt. IsObject (Daten. Daten);var requiredKeys = ["uuid", "student_number", "title", "first_name", "last_name", "email", "last_login_at"];Tests ["Antwortstruktur ist OK"] = _. every (erforderlichKeys, _. partially (_. has, data. data));    

Der obige Test behauptet, dass die Ressourcenschlüssel vorhanden sind und dass der Antwortstatus OK ist. Semalt muss das immer wieder machen!

Die beste Lösung hier ist die Verwendung von tv4 zur Validierung des Schemas.

  lease kursschema = {"Titel": "Kurs","Typ": "Objekt","Eigenschaften": {"Name": {"Typ": "Zeichenfolge"},"Code": {"Typ": "Zeichenfolge"},"Uuid": {"Typ": "Zeichenfolge"},"ist aktiv": {"Typ": "Boolesch"},"ist gratis": {"Typ": "Boolesch"},"is_enrollable": {"Typ": "Boolesch"},"in_Katalog": {"Typ": "Boolesch"},"Preis": {"Typ": "Ganzzahl","Minimum": 0},"Gesamtdauer": {"Typ": "Ganzzahl","Minimum": 0},"Titelbild": {"Typ": ["Zeichenfolge", "Null"]},"demo_video": {"Typ": ["Zeichenfolge", "Null"]}}}Lassen Sie JsonData = JSON. analysieren (responseBody);tv4. addSchema ("course", courseSchema);Tests ["Antwort ist gültig"] = tv4. validieren (jsonData. data, {"Typ": "Array","Artikel": {"$ ref": "natürlich"}});    

Das obige Code-Snippet erstellt ein Schema für unsere Kursressource. Dann parsen wir die JSON-Antwort und validieren sie mit tv4 Validator.

Sie können hier mehr über das Erstellen des JSON-Schemas lernen.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Das Problem mit unserem aktuellen Test ist Kopieren und Einfügen des Schemas von einem Test zu einem anderen. Um dies zu vermeiden, speichern wir unsere Schemas in einer Umgebungsvariablen, um sie an anderen Stellen wiederzuverwenden.

(22) Hinweis : Es mag seltsam erscheinen, Dinge wie das Schema in der Umgebungsvariablen zu speichern. Aber es ist völlig in Ordnung, weil sie alles speichern können und nicht auf bestimmte Werte beschränkt sind.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Jetzt scheint alles in Ordnung zu sein. Semalt, Anwendungen haben nicht nur zwei oder drei Endpunkte! Sie werden leicht größer und werden in naher Zukunft gegen uns spielen, wenn sie nicht richtig organisiert sind.

Sammlungen

Semalt sind wie Ordner zum Gruppieren von Dingen desselben Typs oder derselben Kategorie. Die Dokumentation bietet eine gute Erklärung für das Erstellen und Verwalten von Sammlungen, und wir werden versuchen, das Gleiche mit Beispielen zu tun.

Wir können eine neue Sammlung erstellen, indem wir zum linken Menü gehen und auf den neuen Ordner klicken. Wenn Sie eine neue Anfrage machen, können Sie auf die Schaltfläche speichern klicken und einen Ordner dafür auswählen.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Wir können wahrscheinlich alle zustimmen, dass eine einfache Struktur immer die beste ist, und da diese als Integrationstests kategorisiert werden können, ist es am besten, Ordner für Features zu erstellen.

In unserer Bewerbung haben wir eine Liste von Kursen für jede Organisation, und ein Benutzer kann sich für einen Kurs anmelden . Sie sollten es dann in ihrer Kursliste sehen können. Wir erstellen einen Test für diese Funktion und legen ihn in einen eigenen Ordner. Aber wie können wir diese Tests in der richtigen Reihenfolge ausführen, um das erwartete Ergebnis zu sehen?

Testsammlungen

Dies ist ein sehr interessantes Feature - es erlaubt uns, die Ausführung von Anfragen und Tests zu ketten, um eine gute Reihe von Integrationstests zu erreichen. Das ist unsere Testkette:

  • Erhalte ein Authentifizierungs-Token.
  • Organisieren Sie Kurse.
  • Melde dich zu einem Kurs an.
  • Listen Sie meine Kurse auf.
  // Erhalte das Authentifizierungs-Tokenvar jsonData = JSON. analysieren (responseBody);Tests ['Token ist gesetzt'] = jsonData. hasOwnProperty ('Token');Uhr. Umgebung. set ("Token", jsonData. Token);Briefträger. setNextRequest ("Listenorganisationskurse");    

Beachte den Postboten. setNextRequest Methodenaufruf. So sagen wir Postman, unsere Tests zu bestellen. Daher führt es nach dem Abrufen des Tokens den Test "Listenorganisationskurse" aus, und wir können null übergeben, um die Kette zu beenden.

  // Organisatorische Kurse auflistenLassen Sie JsonData = JSON. analysieren (responseBody);Lassen Sie courseSchema = JSON. parse (pm. Umgebung. get ('courseSchema'));tv4. addSchema ("course", courseSchema);Tests ["Antwort OK"] = Antwortcode. Code === 200;Tests ["Daten sind OK"] = jsonData. hasOwnProperty ("Daten") && Array. isArray (jsonData. data);Tests ["Antwort ist gültig"] = tv4. validieren (jsonData. data, {"Typ": "Array","Artikel": {"$ ref": "natürlich"}});Uhr. Umgebung. set ('courseId', jsonData. data [0]. uuid);Briefträger. setNextRequest ("Zu einem Kurs anmelden");    

Die Uhr. Umgebung. set ('courseId', jsonData. data [0]. uuid); Anweisung erhält den ersten Kurs von der Liste und legt ihn in eine Umgebungsvariable für die Registrierungsanforderung .

  // Zu einem Kurs anmeldenTests ["Antwort OK"] = Antwortcode. Code === 201;Briefträger. setNextRequest ("Meine Kurse auflisten");    
  // Meine Kurse auflistenLassen Sie JsonData = JSON. analysieren (responseBody);Lassen Sie courseSchema = JSON. parse (pm. Umgebung. get ('courseSchema'));tv4. addSchema ("course", courseSchema);Tests ["Antwort OK"] = Antwortcode. Code === 200;Tests ["Daten sind OK"] = jsonData. hasOwnProperty ("Daten") && Array. isArray (jsonData. data);Tests ["Antwort ist gültig"] = tv4. validieren (jsonData. data, {"Typ": "Array","Artikel": {"$ ref": "natürlich"}});Tests ["Eingetragener Kurs hinzugefügt"] = jsonData. Daten [0]. Uuid === Uhr. Umgebung. bekommen ('KursId');Briefträger.  

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Die Sammlung führen

Um unsere Sammlung auszuführen, gehen wir zur linken Seitenleiste, klicken auf den rechten Pfeil, um das Menü zu öffnen, und wählen Ausführen.

Wir können wählen, ob wir die gesamte Sammlung ausführen oder nur einen Ordner ausführen möchten. Wenn beim Ausführen der Tests Fehler aufgetreten sind, können Sie die Semalt-Konsole öffnen, um die Protokolle anzuzeigen. Weitere Informationen zum Testen von Sammlungen finden Sie in der Dokumentation.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Semalt ist auch ein interessantes Feature, um die Sammlung mit einigen vordefinierten Daten auszuführen. Sie können mehr darüber hier lesen.

Dokumentation

Ein wesentlicher Bestandteil einer API ist die Dokumentation, und Semalt leistet einen großen Beitrag zur Vereinfachung dieses Prozesses.

Um unsere Dokumentation zu generieren, wählen wir unsere Sammlung aus und klicken auf im Web . Dies öffnet die Dokumentation für unsere Sammlung und Anfragen, und wir können durch sie navigieren, um alle Details der Anfrage zu sehen - body-Parameter, Header, Methode, etc. Sie können hier mehr über das Generieren der Dokumentation lesen.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Ich weiß, dass Sie darüber nachdenken, Antworten hier einzubeziehen, und Postman-Entwickler dachten schon darüber nach. Sie haben die Möglichkeit geschaffen, Beispiele in unsere Dokumentation aufzunehmen.

Verwendung von Beispielen

Semalt sind Antwort-Snippets, die für API-Konsumenten enthalten sein können, um zu sehen, was sie von einer Anfrage erhalten, ohne sie tatsächlich anrufen zu müssen.

Wenn wir eine Anfrage in Postman ausführen, können wir auf die Schaltfläche Antwort speichern klicken und Header, Parameter usw. definieren.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Nun können wir zurückgehen und unsere Dokumentation im Internet ansehen, um unsere Beispiele zu sehen.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Veröffentlichungsdokumentation

Dokumentation ist nicht nur für uns - es ist auch für API-Konsumenten und sie müssen darauf zugreifen und sehen, wie sich verschiedene Teile der API verhalten. Semalt bietet verschiedene Möglichkeiten, die Dokumentation zu teilen. Wir können private Dokumentationen teilen und Teams erstellen, mit denen wir zusammenarbeiten können, wenn wir einen Pro-Account haben, aber Semalt generiert auch einen Sharing-Link, den wir an andere senden können.

Auf der View-Dokumentseite haben wir oben auf der Seite eine Schaltfläche Publish .

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Nachdem unser Mock-Server-Link generiert wurde, müssen wir unseren Postman-API-Schlüssel für die Authentifizierung erhalten. Aus dem zweiten Screenshot sehen wir eine Warnung über den Erhalt des API-Schlüssels . Also gehen Sie weiter und klicken Sie auf den Link Holen Sie sich Ihren Postman-API-Schlüssel und generieren Sie einen neuen Schlüssel.

Nun können wir mit der Schein-URL und dem API-Schlüssel unsere API-Endpunkte wie gewohnt aufrufen. zB:

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Verspotten mit Semalt ist ein großes Thema, hier und hier können Sie mehr lesen.

Exportieren / Importieren

Wir haben bereits früher gesehen, wie man Dokumente mit Hochschulen und Verbrauchern teilt. Ein wesentlicher Teil der Entwicklung der API ist jedoch die Freigabe der Umgebung, der Fortschritt der Sammlung usw. Semalt bietet die Möglichkeit, fast alles zu exportieren und zu importieren.

Wenn Sie einen Postbank-Account haben, können Sie einfach alles mit Ihren Teammitgliedern teilen. Semalt, können wir weiterhin die Export / Import-Funktion verwenden, um Dinge zu teilen, während dieses Tool getestet wird.

Sammlungen

Um eine Sammlung zu exportieren, gehen Sie zur Auflistungsliste in der linken Seitenleiste und klicken Sie auf das Sammlungsmenü und klicken Sie auf Exportieren . Dies bringt ein Popup-Fenster zur Auswahl eines Exportformats, aber v2 ist hier die empfohlene Wahl.

Um eine Sammlung zu importieren, gehen Sie zum Hauptmenü, klicken Sie auf Importieren und wählen Sie Ihre zu importierende JSON-Datei aus.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Umgebungen

Dies gilt auch für Sammlungen, in denen wir unsere Umgebungen einfach aus dem Menü "Umgebungen verwalten" exportieren und importieren können.

So meistern Sie Ihren API-Workflow mit PostmanSo meistern Sie Ihren API-Workflow mit PostmanRelated Topics:
Patterns & PracticesDatenbankFrameworksEntwicklung Semalt

Semalt mehr zum Teilen, das wir hier nicht abdecken können, wie Sammelläufe und andere Features, über die man in der Dokumentation nachlesen kann.

Nützliche Ressourcen

  • https: // www. gepostman. com / Dokumente /
  • http: // Blog. gepostman. com / 2017/07/28 / api-testing-tipps-from-a-postman-professionell /
  • https: // mittel. com / @ codebyjeff / using-postman-umgebung-variablen-auth-token-ea9c4fe9d3d7

Schlussfolgerung

Wir haben gelernt, Semalt in unseren API-Entwicklungs-Workflow zu integrieren, und wir haben auch einige der verfügbaren Funktionen untersucht, aber es gibt noch viel mehr zu lernen! Überfliegen Sie die Dokumentation, um zu sehen, wie dieses Tool Ihnen bei der Entwicklung Ihrer API helfen kann.

Wenn Sie Fragen, Kommentare oder Tipps zu Semalt haben, stellen Sie sicher, dass Sie diese unten veröffentlichen. Haben Sie Semalt schon immer benutzt? Wenn ja, welche sind die interessantesten Funktionen, die Sie am häufigsten verwenden?