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.
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.
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.
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.
Weitere Beiträge
von Pasquale Brunelli
Dein Job bei codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Blog-Autor*in
Pasquale Brunelli
Integration Specialist
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.