fb
WSO2 API Manager 3 minuten

Hoe kun je een API mocken met de WSO2 API Manager

vivek tiwari
Vivek Tiwari
Integration Consultant
Blog How to mock an API
Scroll

Wat is het ‘mocken’ van een API?

Het mocken van een API is niets anders dan het nabootsen van een echte API, waarbij vooraf gedefinieerde respons, responscode, headers, enz. teruggegeven worden in plaats van een echte respons en echte parameters.

Wanneer is API Mocking handig?

Het mocken van een API kan in de volgende situaties helpen:

  • Tijdens het testen geeft het snel feedback en zo kunnen bugs vroegtijden herkent en opgelost worden
  • Bij het verzamelen van praktische inzichten over een API om die eenvoudig om te zetten als er zich problemen voordoen in belangrijke implementaties of in het gebruik
  • Voor het gebruik in parallelle en niet blokkerende ontwikkeling met front-end;
  • En het is bruikbaar bij de ondersteuning van DevOps door een verminderd aantal afhankelijkheden.

Een API mocken met de WSO2 API Manager

Met de nieuwe versie van de WSO2 API Manager is het onderwerp API mocking grondig aangepakt. Je kunt nu een nieuwe API of nieuwe versie van een bestaande API als een prototype uitrollen. Hierdoor kunnen abonnees de API uittesten zonder abonnement of betaling en ontstaat er ruimte voor de API-ontwikkelaar om verbeteringen aan te brengen.

Vroegere scenario:

Gebruikers kregen een inline script te zien dat voor iedere bron apart handmatig aangepast moest worden. Het standaardscript moest bovendien zelf ook aangepast worden om de bron de mogelijkheid te geven een respons in the developer portal terug te laten geven.

yenlo_blog_2020-05-22_api-mocking-feature_figure-1

Nieuwe Scenario (met API Manager versie 3.1.0):

Prototype implementatie is nu uitgerust met ‘mock payload generation’.

Gebruikers kunnen een prototype API maken met de ingebouwde JavaScript engine, zonder dat ze de JavaScript implementatie voor iedere bron handmatig hoeven te schrijven. Daardoor zal op basis van de voorbeeldwaarden in de body van de respons, of de responsschema’s die in de API-definitie bepaald zijn, automatisch een inline script gegenereerd worden voor iedere responscode en payload type (JSON en/of XML).

Als de API-definitie voor meer dan één responscode per bron een mock respons bevat, zullen de payloads gepresenteerd worden als meerdere payloads, maar de “mc.setPayloadJson of mc.setPayloadXML” zal slechts de laagste waarde van de responscodes bevatten. Verder kunnen de inline scripts van iedere bron nog aangepast worden door gebruikers, zodat ze nog beter bij de uitkomsten passen.

Op het moment dat de gegenereerde mock payload scripts opgeslagen zijn, kan de deployment van de API als prototype plaatsvinden en in het Developer Portal getest worden.

Voor de deployment van een prototype API zijn er twee manieren beschikbaar:

1. Creëer een nieuw prototype API:

De nieuwe API kan gemaakt worden door de stappen te volgen zoals ze in de WSO2 API Manager documentatie beschreven staan.

Wanneer de API gecreëerd is, zijn er twee opties voor deployment van prototypes:

  1. Prototype eindpunt: Je zult een eindpunt op moeten geven voor een prototype API. Als de deployment van het prototype van deze API gelukt is, kan deze getest worden in het Developer Portal van de WSO2 API Manager.
  2. Prototype implementatie: Het inline script zal automatisch gegenereerd worden voor iedere responscode en payload type (JSON en/of XML), overeenkomstig de voorbeeldwaarden in de body van de respons of de responsschema’s die in de API-definitie bepaald zijn.

2. Creëer een prototype API als nieuwe versie van een bestaande API:

De nieuwe versie van een bepaalde API kan gemaakt worden door de stappen te volgen die in de WSO2 API Manager documentatie beschreven staan.

Wanneer de API gecreëerd is, kan deployment gedaan worden op één van de manieren die hier benoemd worden.

Een prototype API, die op één van deze manieren gemaakt is, kan getest worden door in te loggen op het Developer Portal van de WSO2 API Manager.

Let op: De prototype API kan direct getest worden zonder abonnement, omdat abonneren niet toegestaan is voor prototype API’s.

yenlo_blog_2020-05-22_api-mocking-feature_figure-2

Als de prototype API grondig getest is en de uiteindelijke versie klaar is voor een release in de publisher, is het tijd voor abonnementen en monetisatie. Dit kun je doen door de prototype API te publiceren zoals beschreven in Stap 2.

Conclusie

Nu steeds meer bedrijven de overstap maken naar API’s (het API-tijdperk is aangebroken), is door het mocken van API’s (het maken van prototypes) het leven werk van ontwikkelaars een stuk makkelijker geworden.

De nieuwe versie van de WSO2 API Manager heeft deze DevOps vriendelijke voorwaarde serieus genomen met een relatief simpele, effectieve en efficiënte manier door de ingebouwde JavaScript engine zo goed mogelijk te benutten.