Was ist API Mocking?
API Mocking ist nichts anderes als eine Imitation einer echten API, die statt echter Antworten und Parameter vordefinierte Antworten, Antwortcodes, Header usw. zurückgibt.
Wie kann API Mocking nützlich sein?
- Schnelles Feedback zum Testen und zur frühzeitigen Fehlererkennung und -behebung;
- Praktische Einblicke in eine API zu kritischen Implementierungs- und Usability-Problemen mit wenig Aufwand;
- Entwicklung parallel und ohne Blockierung mit dem Frontend;
- Unterstützung von DevOps durch Reduzierung von Dependencies;
Mocking einer API mit WSO2 API Manager
Mit der neuen Version des WSO2 API Managers wurde das Problem des Mockings einer API sehr effektiv gelöst. Sie können eine neue API oder eine neue Version einer bestehenden API als Prototyp einsetzen. Dies ermöglicht es den Abonnenten, eine API ohne Abonnement oder Monetarisierung zu testen. Dies gibt dem API-Herausgeber die Möglichkeit, die API zu verbessern.
Bisheriges Szenario:
Die Nutzer/innen bekamen ein Inline-Skript präsentiert, das für jede Ressource manuell bearbeitet werden musste. Zudem musste das Standardskript bearbeitet werden, damit die Ressourcen im Entwicklerportal eine Antwort geben konnten.
Neues Szenario (mit API Manager Version 3.1.0):
Die Prototyp-Implementierung ist mit einer Mock-Payload-Generierung ausgestattet.
Mit der integrierten JavaScript-Engine können Nutzer eine API prototypisieren, ohne die JavaScript-Implementierung für jede Ressource manuell schreiben zu müssen. Dadurch wird das Inline-Skript automatisch für jeden Antwortcode und jeden Payload-Typ (JSON und/oder XML) entsprechend den Beispielwerten des Antwortkörpers oder den in der API-Definition festgelegten Antwortschemata generiert.
Enthält die API-Definition Mock Responses für mehr als einen Response Code pro Ressource, werden die Payloads als mehrere Payloads dargestellt, aber der „mc.setPayloadJson oder mc.setPayloadXML“ enthält nur den niedrigsten Response Code-Wert. Darüber hinaus können die Inline-Skripte jeder Ressource von den Nutzern weiter bearbeitet werden, um das gewünschte Ergebnis besser zu erreichen.
Nachdem die generierten Mock-Payload-Skripte gespeichert worden sind, kann die API als Prototyp eingesetzt und im Entwicklerportal getestet werden.
Ein API-Prototyp kann auf zwei Arten bereitgestellt werden.
1. Eine neue Prototyp-API erstellen:
Zur Erstellung der neuen API befolgen Sie bitte die in der WSO2 API Manager-Dokumentation beschriebenen Schritte.
Nach der Erstellung kann die API als Prototyp mit 2 Optionen bereitgestellt werden:
- Prototyp-Endpunkt: Sie müssen einen Endpunkt für eine Prototyp-API bereitstellen. Sobald diese API als Prototyp bereitgestellt wurde, kann sie im Developer Portal über den WSO2 API Manager getestet werden.
- Prototyp-Implementierung: Das Inline-Skript wird automatisch für jeden Antwortcode und Nutzdatentyp (JSON und/oder XML) entsprechend den in der API-Definition definierten Beispielwerten des Antwortkörpers oder Antwortschemas generiert.
2. Erstellen Sie eine Prototyp-API als neue Version aus einer bestehenden API:
Die neue Version für eine bestimmte API können Sie erstellen, indem Sie die in der WSO2 API Manager Dokumentation beschriebenen Schritte befolgen.
Nach der Erstellung kann die API auf eine der beiden hier genannten Arten bereitgestellt werden.
Die Prototyp-API, die mit einer der genannten Methoden erstellt wurde, kann getestet werden, indem Sie sich vom WSO2 API Manager aus beim Entwicklerportal anmelden.
Hinweis: Der API-Prototyp kann direkt ohne Abonnement getestet werden, da Abonnements für Prototyp-APIs nicht zulässig sind.
Wenn der API-Prototyp sorgfältig getestet wurde und die endgültige Version der prototypischen API für die Veröffentlichung im Publisher bereit ist, ist es Zeit für Abonnement und Monetarisierung. Dazu veröffentlichen Sie die prototypische API wie in Schritt 2 beschrieben.
Fazit
Da sich immer mehr Unternehmen auf APIs umstellen (das Zeitalter der APIs ist angebrochen), hat das API-Mocking (Prototyping) das Leben eines Entwicklers sehr viel einfacher gemacht.
Mit der neuen Version des WSO2 API Manager wird diese DevOps-freundliche Anforderung auf einfache, effektive und effiziente Weise erfüllt, indem die integrierte JavaScript-Engine genutzt wird.