info@yenlo.com
deu
Menu
API Management 3 min

Postman erleichtert das Entdecken und Ausprobieren von APIs

In den letzten  Versionen hat das Devportal des API Managers Entwicklern die Möglichkeit geboten, nicht nur die Swagger-Datei (oder auch OpenAPI genannt) herunterzuladen, sondern auch eine sogenannte Postman-Sammlung.

Rob Blaauboer
Rob Blaauboer
Integration Consultant & WSO2 Trainer
Postman makes API discovery and try out easy

Die Kernfunktionalität des WSO2 API Managers ist natürlich die Erstellung und Verwaltung von APIs. Der Publisher und das Devportal sind die zwei wichtigsten Bausteine dafür. Der Publisher ist für die Organisation vorgesehen, die die APIs veröffentlicht. Im Devportal oder Store, wie er früher genannt wurde, können Entwickler API-Funktionen ausprobieren, die Dokumentation einsehen und mit anderen API-Entwicklern interagieren.

API Manager Devportal

In den letzten  Versionen hat das Devportal des API Managers Entwicklern die Möglichkeit geboten, nicht nur die Swagger-Datei (oder auch OpenAPI genannt) herunterzuladen, sondern auch eine sogenannte Postman-Sammlung.

wp full api lifecycle management selection guide
Whitepaper Auswahlhilfe Für Die Vollständige Verwaltung Des API-Lebenszyklus

Warum Brauchen Sie Überhaupt Ein API-Management?

Jetzt herunterladen

Postman

Falls Sie Postman noch nicht kennen: Eine Postman-Sammlung ist eine Gruppe gespeicherter Anfragen. Für die Pizzashack-API, für die ich die Sammlung heruntergeladen habe, bedeutet das, dass die API und alle Ressourcen / HTTP-Verben in Postman geladen sind.

postman collection

Wir werden uns die Postman-Installation später ansehen. Zunächst beschäftigen wir uns damit, wie eine Sammlung aussieht und wie sie sich von der OpenAPI-Definition unterscheidet.

Wie Sie sehen können, sieht der Inhalt gleich aus. OpenAPI ist generischer und wird auch für die Erstellung der API und die Schema-Validierung verwendet. Die Postman-Sammlung sollte jedoch als Teilmenge der OpenAPI-Definition betrachtet werden. Es gibt Tools, mit denen man eine Postman-Sammlung in eine OpenAPI-Definition umwandeln kann, indem man ein paar zusätzliche Felder und Variablen hinzufügt.

transform postman collection into open api

Postman installieren

Die Installation von Postman hängt von Ihrem Betriebssystem ab. Für meine Linux-Schulungsrechner verwende ich diese Ressource für die manuelle Installation. Andere Betriebssysteme sind auf der Download-Seite von Postman zu finden.

Postman ist kein kostenloses Tool, hat aber eine kostenlose Version, die für den Zweck dieses Blogs – das Testen einer Postman-Sammlung – völlig ausreicht. Wenn Sie mehr Funktionen benötigen, können Sie sich auf der Seite mit den Preisangaben informieren.

Wenn Ihnen die kostenpflichtige Version einer Software einen Mehrwert für Ihre Entwicklungserfahrung bietet, lohnt es sich, sie zu kaufen! Es gibt auch eine browserbasierte Version von Postman, aber für die Zwecke dieses Tutorials werde ich die Desktop-App verwenden.

postman workspace

Erstellen Sie nach dem Herunterladen ein kostenloses Konto. Sie benötigen es, um die Sammlung in einen Arbeitsbereich zu importieren.

Verwenden Sie den Standardarbeitsbereich oder erstellen Sie einen neuen. Wählen Sie Importieren aus.

postman default workspace

Klicken Sie auf Importieren und laden Sie die Datei hoch, die wir aus dem Devportal heruntergeladen haben. In den meisten Fällen sollte sie sich im Verzeichnis Downloads befinden, wenn sie über einen Browser heruntergeladen wurde.

postman collection workspace

Die Sammlung wird im Arbeitsbereich angezeigt. Wie auf dem Bild unten zu sehen ist, habe ich alle Ressourcen geöffnet.

postman menu resources

Wenn Sie auf GET metod klicken, wird die GET-Anfrage für die /menu-Ressource angezeigt.

postman invocation 404

Ich erhalte beim Aufruf die Fehlermeldung 404 not found (404 nicht gefunden). Es wurde darauf hingewiesen, dass die CORS-Konfiguration das Problem ist. Ich habe CORS in der API-Konfiguration des Publishers aktiviert und eine neue Bereitstellung erstellt.

enable cors in api

Devportal gibt mir eine Antwort, Postman nicht. Ich bekomme zwar eine Antwort, aber sie lautet

{"code":"900902","message":"Missing Credentials","description":"Invalid Credentials. Make sure your API invocation call has a header: 
'Authorization : Bearer ACCESS_TOKEN' or 'Authorization : Basic ACCESS_TOKEN' or 'apikey: API_KEY'"}

Das macht Sinn, da ich kein Token hinzugefügt habe. Kopieren Sie das Token aus dem Devportal in die AUTH-Konfiguration von Postman.

configure token

Das Token ist ein JWT-Token und ziemlich lang. Sie sehen nur einen Teil davon. Klicken Sie nun auf Senden.

paste jwt token

Sie werden folgende Antwort sehen:

token postman auth

Das zeigt Ihnen, wie Sie Ihre API mit Postman testen können. Der Vorteil dabei ist, dass Sie mehr Kontrolle über die Anfrage und die Antwort haben als im Devportal.  Die Generierung eines Tokens in Postman ist ebenfalls möglich. Kopieren Sie dazu den Consumer Key und das Consumer Secret aus diesen Feldern in die Postman AUTH-Konfiguration.

sanbox oauth2 keys

Und klicken Sie auf Get New Access Token (Neues Zugriffstoken abrufen).

pizzashackapi access new token

Sie erhalten dann etwa Folgendes:

manage access tokens

Sie können jetzt erneut auf Senden klicken. Das Token wird verwendet.

Weitere Sammlungen

Es gibt Sammlungen für alle APIs, aber es gibt auch noch andere, wertvollere Sammlungen. Wie die Produkt-APIs, die der API Manager bereitstellt.

api manager documentation

Wenn Sie im Browser auf der API-Referenzseite auf „Run In Postman“ („In Postman ausführen“) klicken, wird eine Verbindung zu Ihrer Postman-Anwendung hergestellt und die Sammlung in einen Arbeitsbereich Ihrer Wahl importiert.

result postman workspace

Das Ergebnis sieht so aus:

authentication publisher result

Sie sehen den Authentifizierungsteil (erforderlich für die erstmalige Verwendung) und die exponierten APIs der Publisher-Webanwendung, da wir die Publisher-API-Sammlung für diese Demonstration verwendet haben. Für andere APIs wie das Devportal und die Admin-Anwendung stehen ähnliche Sammlungen zur Verfügung.

deu
Schließen
Was ist auf unserer Speisekarte