Important: This news article covers an old version of Javalin (v0.3.5). The current version is v6.1.3.
See the documentation page for up-to-date information.


This feature is mostly useful for Kotlin users, as it allows for very neat query-param declaration with destructuring and elvis-throws:"/new-user") { ctx ->
    val (name, email) = ctx.mapQueryParams("name", "email") ?: throw MissingQueryParamException()


This is band-aid for Java developers who can’t use ctx.mapQueryParams(), at least you can make sure that your query-params are present:"/new-user", ctx ->
    if (ctx.anyQueryParamNull("name", "email")) {
        throw new MissingQueryParamException();

Minor change in before/after

Previously before and after used /* as path when called pathless (like before(handler)). This has been changed to *, in order to include the root path (/).