Testen und Debuggen von REST APIs mit Insomnia

Keine Kommentare

Viele Wege führen ja bekanntlich nach Rom – und ebenso gibt es viele Wege und Möglichkeiten für das Debuggen und Testen von REST APIs. Meine ersten Gehversuche in diesem Bereich habe ich zur damaligen Zeit mit cURL gemacht. Wenn man „einfach mal schnell“ einen Request senden möchte, ist dies eine völlig ausreichende Lösung. Man benötigt keine extra Software und kann sofort loslegen (seit einiger Zeit ist cURL auch standardmäßig in Windows 10 enthalten!).

Wenn man jedoch für die tägliche Arbeit viele verschiedene Requests sammelt, da man diese stetig verwendet und in den verschiedensten Ausführungen benötigt, führt dies über kurz oder lang zu einem unübersichtlichen Sammelsurium. Nichtsdestotrotz nutze ich cURL auch heute noch – zum Beispiel für Demonstrationszwecke oder einmalige Requests.

Üblicherweise benötige ich meine Requests jedoch öfter und sammle diese daher in einem REST Client. Bis vor einiger Zeit habe ich dafür Postman genutzt. Postman ist ein solider Client, bei dem mir – aus technischer Sicht – nie etwas gefehlt hat. Lediglich das Look & Feel war mir schon immer ein Dorn im Auge. Die Elemente sind nicht meiner Arbeits- bzw. Denkweise entsprechend angeordnet und das gesamte UI empfinde ich als unübersichtlich.

Durch unsere seit November 2019 bestehende Partnerschaft mit Kong bin ich auf Insomnia aufmerksam geworden und habe diesen, für mich neuen, REST Client einmal ausprobiert.

Insomnia – Ursprung und Geschichte

Die erste Version wurde bereits im Jahr 2014 von Gregory Schier unter der Prämisse, „das Testen, Debuggen und Teilen von APIs zu vereinfachen“, released. Vor dem Hintergrund, dass er viel positives Feedback erhalten hat und die Community rund um das Projekt stetig gewachsen ist, kündigte er 2016 seinen Job, um sich voll und ganz auf die Entwicklung von Insomnia fokussieren zu können. Seit 2017 wird das Projekt als Open Source geführt, um den gestiegenen Ansprüchen gerecht werden zu können. Mittlerweile hat das GitHub Repository über einhundert Kontributoren und wird von hunderttausenden Entwicklern jede Woche genutzt.

Seit Oktober 2019 ist Insomnia ein Teil von Kong und bildet dort die Grundlage für das Kong Studio, welches Bestandteil der Enterprise Solution von Kong ist.

…und was ist an Insomnia nun besser?

Wie bereits erwähnt, ist Insomnia seit Längerem ein Open-Source-Projekt, bei dem die Bedürfnisse der Nutzer und der Community immer im Mittelpunkt standen. Dabei ist es vielleicht auch gar nicht korrekt, von „besser“ oder „schlechter“ zu sprechen, wenn man Insomnia mit anderen Programmen vergleicht. Die technischen Spezifikationen der meisten REST Tools unterscheiden sich meist kaum. Vielmehr sind es optische Dinge und kleine Gimmicks, die mir persönlich gut (besser! 🙂 ) gefallen. Diese möchte ich im Folgenden herausstellen.

Benutzeroberfläche

Nachdem ich Insomnia das erste Mal gestartet habe, ist mir das moderne und gut strukturierte UI direkt positiv aufgefallen. Wenn man bereits Erfahrung im Umgang mit REST Tools hat, stellt Insomnia keine Herausforderung dar und man kann seinen ersten Request in kürzester Zeit erfolgreich ausführen. Aber auch für Neulinge ist das aufgeräumte UI schnell zu verstehen. Der gesamte Arbeitsprozess wird dabei dem typischen Vorgehen beim Anlegen eines Requests entsprechend von links (Übersicht aller angelegten Requests) über die Mitte (Einstellungen des jeweiligen Requests) bis nach rechts (Ergebnis) geleitet.

Insomnia Überblick

Haptik

Ein weiterer Pluspunkt stellt für mich die Haptik der gesamten Applikation da. Wie man es in modernen Programmen gewohnt ist, lassen sich z. B. Ordner per rechter Maustaste einfach erstellen und können per Drag & Drop verschoben werden. Dies unterscheidet sich zwar von anderen Programmen nur geringfügig – insgesamt wirkt aber auch hier alles sehr stimmig.

Umgebungsvariablen & Template Tags

Wie in anderen Applikationen gibt es auch in Insomnia Environment Variablen. Der Vorteil in Insomnia ist, dass man diese als JSON-Struktur anlegt. Dies bietet die Freiheit, seine Variablen nach Belieben zu strukturieren und auch tiefere Strukturen abzubilden. Über eine Tastenkombination können diese Variablen dann direkt in den gewünschten Feldern angezeigt und eingefügt werden.

Variablen in Insomnia

Template Tags sind vorgefertigte Formeln, die sich genau wie Environment-Variablen aufrufen lassen. Diese Formeln ermöglichen es jedoch, Inhalte on-the-fly zu generieren (z. B. Timestamps) oder Inhalte auf verschiedene Arten vor dem Absenden zu manipulieren (z. B. Encodings). Sollte die existierende Palette dabei nicht ausreichen, kann man diese durch Plugins erweitern.

Insomnia Environment-Variablen und Template Tags

Fazit

Ich bin von Insomnia bisher sehr angetan und werde es weiterhin nutzen. Dies begründe ich vor allem mit dem gut strukturierten UI und angenehmen Handling. Dabei gibt es mit an Sicherheit grenzender Wahrscheinlichkeit auch Anwendungsfälle, bei denen Postman die bessere Alternative ist. Ich würde aber jedem Entwickler, der mit REST-Requests arbeitet, empfehlen, Insomnia selber einmal auszuprobieren und sich einen eigenen Eindruck zu machen.

Ich würde mich freuen, wenn ihr mir eure eigenen – sowohl positiven als auch negativen – Erfahrungen als Kommentar hinterlassen würdet.

Weiterführende Links

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.