中间件和Composjure析构函数语法



我有以下Composjure路由:

(defroutes my-handler
(GET "/:my-model-id" [id] (render-my-model (parse-int id))))

不幸的是,对于我以这种方式定义的每个路由,我都必须手动添加一个调用来解析传入的整数。

我已经创建了Ring中间件,它可以遍历任何form-paramsrequest-params,并解析任何看起来可能是整数的东西。但是,该中间件不适用于自定义的Composjure路由。

有人知道我如何让Composjure自动处理整数解析吗?我能以某种方式将它连接到我现有的中间件吗?

不幸的是,compojure在解析参数后将直接调用从路由定义生成的函数。

AFAIC介于两者之间的唯一方法是直接修改组件代码库,或者在assoc-route-params上使用Robert Hooke(通过技术手段)https://github.com/weavejester/compojure/blob/master/src/compojure/core.clj#L30

最新更新