Einführung in den Insomnia Designer

Keine Kommentare

In einem meiner Blogposts habe ich vor einiger Zeit Insomnia (Nun: Insomnia Core) vorgestellt und ich bin auch nach einigen Monaten Praxisnutzung ein überzeugter Nutzer dieses Tools geblieben. Mit dem Insomnia Designer wurde nun ein weiteres Tool vorgestellt, welches die kollaborative Entwicklung von APIs nach dem „Specification-First“-Prinzip fördert. Diesen habe ich mir daher einmal genauer angeschaut.

Der erste Eindruck

Wer Insomnia Core bereits kennt, wird sich von Beginn an heimisch fühlen. Der bereits bekannte Debug-Modus unterscheidet sich nicht von dem, was man bereits kennt, sodass man sich nicht neu einarbeiten muss. Der neue Design-Modus setzt dabei ebenfalls auf eine sehr intuitive Struktur, welche leicht verständlich ist.

Hervorzuheben ist dabei, dass dem Insomnia Designer ein recht umfassendes Beispiel mitgeliefert wird, das den Einstieg und das Verständnis zusätzlich erleichtert.

Kollaboration

Die Zusammenarbeit bei der Erstellung und das Teilen der Spezifikationen wird durch Git ermöglicht. Nachdem man das Git-Repository eingerichtet hat, kann man die jeweilige Spezifikation sofort aus dem Insomnia Designer heraus einchecken. So können die Spezifikationen sicher verwahrt und anderen unkompliziert bereitgestellt werden. Branching wird out-of-the-box unterstützt.

Spezifikation

Der Insomnia Designer setzt für die Definition von APIs auf die weit verbreitete und moderne OpenAPI Spezifikation.

Dabei wird neben der Textform der OpenAPI-Spezifikation auch eine Baumsicht der Struktur angezeigt. Dies bietet eine gute Übersicht und ermöglicht eine schnelle Navigation an die gewünschten Stellen in der Spezifikation.

Der Editor prüft dabei die Eingaben auf Fehler und unterstützt den Designer bei der Erstellung.

insomnia-designer-editor-view-spezifikationOpenAPI Ansicht

Zusätzlich kann man sich eine Preview seiner Spezifikation anhand von Swagger UI anzeigen lassen, sodass man bei Bedarf prüfen kann, wie das Resultat final aussehen wird.

insomnia-designer-swaggerSwagger UI Ansicht

Testen und Debuggen

Nachdem man seine Spezifikation ganz oder teilweise erstellt hat, kann man diese auch sofort testen. Dafür wechselt man von dem Design- in den Debug-Modus.

Während man die API im Design-Modus spezifiziert hat, wurden im Hintergrund bereits automatisch Requests angelegt, welche sich direkt ausführen lassen. (Es muss ggf. noch die Base URL hinzugefügt werden – z. B. als Umgebungsvariable). Und schon kann man einen Request gegen seine frisch spezifizierte API ausführen.

insomnia-debug-modus Die gewohnte Benutzeroberfläche mit den automatisch erstellten Requests

Plugins

Wie auch in Insomnia Core bietet der Designer die Möglichkeit, fehlende Funktionalitäten durch Plugins zu ergänzen. So kann zum Beispiel das kong-bundle Plugin hinzugefügt werden, welches ermöglicht, seine APIs direkt in das Kong Portal zu bringen, eine „Kong Declarative“- oder „Kong for Kubernetes“-Konfiguration zu generieren.

Fazit

Der Insomnia Designer ist ein weiterer Schritt in Richtung eines Tools, welches neben der ganzheitlichen Entwicklung von APIs vor allem die kollaborative Entwicklung eben dieser in den Fokus rückt. Durch die eingebauten Git-Funktionalitäten kann man seine Spezifikationen dabei schnell und einfach versionieren und mit anderen teilen.

Die moderne OpenAPI-Spezifikation ist für mich dabei noch etwas ungewohnt, da ich bisher nahezu ausschließlich RAML genutzt habe, stellt aber nach einer kurzen Einarbeitung auch kein Hindernis dar. Dabei gefällt mir besonders, dass die Requests für meine Definition automatisch erstellt werden. So kann man bei den Requests keine Einstellungen vergessen, die man vorher definiert hat.

Leider habe ich aktuell kein Projekt, in welchem ich den Insomnia Designer bereits heute produktiv nutzen könnte, sodass ich bisher nur von meinen Erfahrungen beim Ausprobieren sprechen kann.

Insgesamt fühlt sich diese Erweiterung aber bereits genauso stimmig an wie Insomnia Core und ich würde jedem empfehlen, der mit dem Gedanken spielt OpenAPI zu nutzen oder es bereits nutzt, aber noch keine geeignete Entwicklungsplattform gefunden hat, das Programm einfach selbst zu testen.

Wie immer freue ich mich ggf. über eure eigenen Erfahrungen mit dem Tool, Anregungen als auch Kritik in den Kommentaren.

Pasquale Brunelli

Pasquale Brunelli hat im Jahr 2011 die Ausbildung zum Fachinformatiker bei der codecentric AG zusammen mit einem berufsbegleitenden Studium der Wirtschaftsinformatik begonnen.

Seit dem erfolgreichen Abschluss von Ausbildung und Studium ist er als IT-Consultant und Developer im Hause tätig.

Über 1.000 Abonnenten sind up to date!

Die neuesten Tipps, Tricks, Tools und Technologien. Jede Woche direkt in deine Inbox.

Kostenfrei anmelden und immer auf dem neuesten Stand bleiben!
(Keine Sorge, du kannst dich jederzeit abmelden.)

* Hiermit willige ich in die Erhebung und Verarbeitung der vorstehenden Daten für das Empfangen des monatlichen Newsletters der codecentric AG per E-Mail ein. Ihre Einwilligung können Sie per E-Mail an datenschutz@codecentric.de, in der Informations-E-Mail selbst per Link oder an die im Impressum genannten Kontaktdaten jederzeit widerrufen. Von der Datenschutzerklärung der codecentric AG habe ich Kenntnis genommen und bestätige dies mit Absendung des Formulars.

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.