Javalin - So geht's weiter

Javalin 3.2, 3.3 & 3.4.1: Eine Welle an Updates!

Katharina Degenmann

© Shutterstock/ Willyam Bradberry

Aus Java und Kotlin werde Javalin. Das leichtgewichtige Web-Framework für Kotlin und Java meldet sich mit einer Welle an Updates zurück. Wir haben die Highlights aus Version 3.2, 3.3 und 3.4.1 für Euch zusammengefasst.

Bei Javalin handelt es sich um ein Web-Framework, mit dem sich Apps sowohl für Kotlin als auch für Java erstellen lassen, d.h. das API wurde mit dem Fokus auf Interoperabilität zwischen den beiden Sprachen designt. Das auf Jetty-Servern basierte Framework zielt vor allem darauf ab, leichtgewichtig und übersichtlich zu sein. Javalin sei mehr Bibliothek als Framework, bei der es nicht viel zu erweitern braucht und die keine Annotationen beziehungsweise keine Reflexion benötigt. Alles gehe mit wenigen tausend Zeilen Code. Im Juli und August haben gleich drei Versionen das Licht der Welt erblickt.

Javalin 3.2: Brotli und Bugfixes

Zugegeben, besonders viel hat sich in Version 3.2 nicht getan, doch eine größere Neuerung hatte das Update dennoch im Gepäck, nämlich die Unterstützung für Brotli. Brotli ist ein Datenkompressions-Algorithmus basierend auf LZ77 und der Huffman-Kodierung.

Der nun supportete Algorithmus ersetzt die alte dynamicGzip-Einstellung und ermöglicht es, das Kompressionslevel für Brotli und Gzip zu ändern. Durch den Einsatz von Brotli wird auch die Handhabung der Komprimierung für statische Dateien von Jetty nach Javalin verschoben, sodass die statische Dateikomprimierung auch mit der neuen Einstellung konfiguriert werden kann.

Und auch einige Bugfixes sind mit von der Partie. So wurde beispielsweise am Validator und an den OpenAPI docs geschraubt.

Javalin 3.3: Error handling, Brotli optinal und bugfixes

Gerade einmal eine Woche nach Version 3.2 wurde Javalin 3.3 veröffentlicht. Auch hier läuft uns unser alter Bekannter Brotli über den Weg, der in der vorherigen Version eingeführt und in Version 3.3 nun als eine optionale Abhängigkeit zur Verfügung steht.

Die wohl größere Neuerung betrifft allerdings das Error Handling. Die Hauptaufgabe der Methode app.error(status, handler) liegt, seit Einführung der standardisierten http-Exceptions (wie BadRequestResponse()), im Rendern von HTML-Fehlerseiten. Aus diesem Grund bekam die Methode nun einen optionalen Content-Type spendiert, mit dem die Fehlerbearbeitung noch einfacher von der Hand gehen soll:

app.error(404, "html", my404PageHandler)

Ebenfalls der einfacheren Fehlerbearbeitung geschuldet, ist die Erweiterung des Handlers durch die Umgestaltung der ErrorHandler-Benutzeroberfläche. Aufgrund der Rückwärtskompatibilität kann der ErrorHandler nicht entfernt werden, aber alle ErrorHandler-Instanzen sind jetzt gültige Handler-Instanzen – auch app.error() verwendet nun einen Handler.

Neben den oben genannten Neuerungen hat Javalin 3.3 noch ein paar kleinere Bugfixes im Gepäck.

Javalin 3.4.1: RouteOverviewPlugin JSON

Die aktuellste Version des Webframework ist das kürzlich erschienene Javalin 3.4.1. In diesem Update steht das RouteOverviewPlugin im Fokus. Dieses wurde bereits in Version 1.5.0 eingeführt, um routeAdded-Ereignisse zu überwachen und eine HTML-Seite zu erstellen, die alle zugeordneten Routen anzeigt.

Mit dem neuen Release wird dieses Plugin als JSON-Objekt bereitgestellt, insofern der Client json akzeptiert. Natürlich gab es auch in dieser Version kleinere Änderungen: Die WsContext-Klasse verfügt nun beispielsweise über queryParam(key: String) und JavalinVue#stateFunction wurde zum @JvmField.

Alle weiteren Informationen zu den einzelnen Releases stehen auf der Seite von Javalin zum Nachlesen bereit.

Geschrieben von
Katharina Degenmann
Katharina Degenmann
Katharina Degenmann hat Politikwissenschaft und Philosophie studiert. Seit Februar 2018 arbeitet sie als Redakteurin bei der Software & Support Media GmbH und ist nebenbei als freie Journalistin tätig.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: