【发布时间】:2015-12-14 22:19:25
【问题描述】:
我希望我能以一种有意义的方式解释这一点!
我正在使用 Liberator 对一些需要向客户端公开的 Web 服务进行原型设计,并具有如下定义的路由:
(defroutes fish
(context "/fish"
[]
(ANY "/cod/:id/count"
[id]
(cod-fish id))))
(def handler
(-> fish
wrap-params
path-wrapper))
path-wrapper 的目的是输出一些关于匹配路径的信息。目前看起来是这样的:
(defn path-wrapper
[handler]
(fn [request]
(println "in" (:request-method request) (:uri request))
(let [response (handler request)]
(println "out")
response)))
这会打印出您所期望的:
in :get /fish/cod/123/count
out
但是,我希望它打印出来的是:
in :get /fish/cod/:id/count
out
即匹配的路径,而不是匹配的URI。
我几乎可以肯定答案在 Clout 某处,但我似乎无法找到它! :(
有什么建议吗?
干杯,
彼得
【问题讨论】:
标签: clojure compojure ring clout