De voornaamste functionaliteit van WSO2 API Manager is natuurlijk het creëren en beheren van API’s. De Publisher en Devportal zijn de twee belangrijkste componenten om dit te doen. Terwijl De Publisher bedoeld is voor de organisatie die de API’s publiceert, is de Devportal of store, zoals het vroeger werd genoemd, de plaats waar ontwikkelaars API-functionaliteiten kunnen uitproberen, documentatie kunnen bekijken en kunnen communiceren met andere API-ontwikkelaars.
API Manager Devportal
In de laatste paar versies heeft de Devportal van de API Manager ontwikkelaars de mogelijkheid geboden om niet alleen het Swagger-bestand (of OpenAPI zoals het ook wordt genoemd) te downloaden, maar ook iets dat een Postman-collectie wordt genoemd.
Postman
Voor degenen onder jullie die niet bekend zijn met Postman: een Postman-collectie is een groep opgeslagen verzoeken. De Pizzashack API waarvoor ik de verzameling heb gedownload, betekent dat de API en alle bronnen / HTTP-werkwoorden in Postman zijn geladen.
We zullen de installatie van Postman later bekijken, maar om te beginnen, hoe ziet een collectie eruit en hoe verschilt deze van een OpenAPI-definitie?
Aanbevelingen om je te helpen jouw eigen architectuur te ontwerpen en daarbij een selectie te maken
Nu downloadenZoals je kunt zien, ziet de inhoud er hetzelfde uit. Waarbij OpenAPI generieker is en ook gebruikt wordt voor de creatie van de API en schemavalidatie. De Postman-collectie moet echter worden beschouwd als een subset van de OpenAPI-definitie. Er zijn tools om een Postman-collectie om te zetten in een OpenAPI-definitie door enkele extra velden en variabelen toe te voegen.
Postman installeren
De installatie van Postman is afhankelijk van je besturingssysteem. Voor mijn Linux-trainingsmachines gebruik ik deze bron voor de handmatige installatie. Voor andere besturingssystemen kun je naar de Downloads-pagina van Postman gaan.
Postman is geen gratis tool, maar heeft een gratis versie die volstaat voor het doel van deze blog, namelijk het testen van een Postman-collectie. Als je meer functionaliteit nodig hebt, kijk dan eens op de pagina met de prijslijst.
Het is de moeite waard om de piad-versie te kopen van software die waarde toevoegt aan je ontwikkelingservaring! Er is ook een browsergebaseerde versie van Postman, maar voor deze zelfstudie gebruik ik de desktop-app.
Maak na het downloaden een gratis account aan, die heb je nodig om de collectie in een werkruimte te importeren.
Gebruik de standaard workspace of maak een nieuwe. Selecteer Import.
Klik op Import en upload het bestand dat we hebben gedownload van de Devportal. Gewoonlijk zou het in de downloadmap moeten staan als je het via een browser downloadt.
De collectie wordt getoond in de workspace. Zoals op de onderstaande afbeelding, heb ik alle bronnen geopend.
Als je op GET metod klikt, wordt het GET-verzoek voor de bron /menu weergegeven.
Ik krijg een 404 not found bij de aanroeping. CORS-configuratie werd aangegeven als het probleem. Ik heb de CORS ingeschakeld in de Publishers API-configuratie en een nieuwe deployment aangemaakt.
Devportal geeft me een reactie, Postman niet. Wel geeft het me een antwoord, maar het is
{"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'"}
Wat logisch is, want ik heb geen token toegevoegd. Kopieer het token van de devportal naar de AUTH config van Postman.
Het token is een JWT-token en behoorlijk lang. Je ziet er maar een deel van. Klik nu op send.
Je ziet het antwoord:
Dit laat zien hoe je je API kunt testen met Postman met het voordeel dat je meer controle hebt over de Request en Response dan in de Devportal. Het is ook mogelijk een token te genereren in Postman, kopieer deze velden consumer key en consumer secret naar de Postman AUTH config.
En druk op Get New Access Token.
Je krijgt dan zoiets als het volgende:
Je kunt nu nogmaals op Send drukken. Het token zal worden gebruikt.
Meer Collections
Er zullen collecties zijn voor al jullie API’s, maar er zijn ook andere, waardevollere collecties. Zoals de product-API’s die de API Manager openstelt.
Als je in de browser op “Run In Postman” klikt vanaf de API-referentiepagina, maakt deze verbinding met je Postman-app en importeert de collectie in een workspace naar keuze.
Het resultaat ziet er als volgt uit:
Je ziet het Authenticatie-gedeelte (vereist voor het eerste gebruik) en de blootgestelde API’s van de Publisher webapplicatie, omdat we voor deze demonstratie de Publisher API-collectie hebben gebruikt. Evenzo zijn er voor andere API’s zoals de devportal en admin-applicatie soortgelijke collecties beschikbaar.