See the documentation page for up-to-date information.
Non sub-path wildcards
Javalin has always supported wildcard routing with /path/*. As of 3.12.0, there’s also support for doing
/path* and /path/:param*, which will match both /path+/path/* and /path/:param+/path/:param/* respectively.
This is particularly useful when you want to run a before/after handler for a resource (and all sub-paths of the resource).
Pathless calls to crud() in ApiBuilder
You can now call crud() without a path argument, similar to the other methods in the ApiBuilder.
This means you can finally use crud(MyHandler) inside a path() call.
Support for static file symlinks
You can now configure alias checking for resolving symlinks for static files.
This can be done through a ContextHandler.AliasCheck field, which can be configure on config.aliasCheckForStaticFiles:
config.aliasCheckForStaticFiles = ContextHandler.AliasCheck { path, resource ->
/* Your predicate here */
}
To allow all aliases, you can do config.aliasCheckForStaticFiles = new ContextHandler.ApproveAliases();
Thanks to sealedtx for implementing this.
Redoc configuration
LeoColman has created a fully typed API for configuring Redoc in the OpenAPI plugin, big thanks!
.reDoc(ReDocOptions("/redoc", RedocOptionsObject(
hideDownloadButton = true,
theme = RedocOptionsTheme(
spacingUnit = 10,
isTypographyOptimizeSpeed = true
)
))
Misc fixes
- The OpenAPI plugin now skips
exampleSetFlagon serialization (thanks to pawel-piecyk) - Fixed issues with enums in OpenAPI plugin (thanks to sealedtx)
- Fixed a bug in
ignoreTrailingSlashes(thanks to NPi2Loup) Context#bodyis now a lazy property (thanks to ghn1712)- The static instance in
ApiBuilderis now thread-local (thanks to kwbc)