reitit 2025-10-28

Reitit 0.9.2 is out, with a number of smaller improvements. Check the changelog for more info: https://github.com/metosin/reitit/blob/master/CHANGELOG.md

❀️ 1
🫢 1
🫢🏻 1

First release made by our new github actions workflow

1
πŸš€ 2

πŸ‘‹ is there a way to apply the ring wrap-nested-params middleware to query-params with reitit+malli. i have a route with nested query params like page[number]=1&page[size]=5. my arguments are parsing out properly in the :params key to {:page {:number 1 :size 5}} but not :parameters (in there we get {:query {:page[number] 1 :page[size] 5}}), which means schema validation is happening on a different key than the parsing.

good question! let me dig around the code a bit

So the reitit :parameters :query coercion reads the :query-params key from the request. wrap-nested-params writes its result into :params (which is a merged combination of :form-params :query-params etc.)

if you made a duplicate of nested-params-request that does (update-in request [:query-params] nest-params parse), that should work with reitit+malli.

In other words, you want to modify :query-params after wrap-params (aka parameters-middleware ) and before the reitit coercion.

If you get it working, it might be a nice addition to reitit.ring.middleware.parameters πŸ™‚

agreed! thanks for the response

At work I believe we have a copy of nested params with a change just like that!