特定于Compojure的解构和查询字符串

时间:2013-10-14 12:22:56

标签: clojure compojure ring

我正在尝试使用compojure访问参数 foo ,在这样的请求中:

/api/xyz?foo=bar 

compojure destructuring syntax看起来不错,所以我想用它。但是以下内容只是为我提供了“找不到页面”:

(defroutes app-routes    
  (GET "/api/xyz/:foo" [foo] (str "foo: " foo))
  (route/not-found "Page not found"))

这有点奇怪,因为下面的详细解构工作并给了我“foo:bar”:

(defroutes app-routes    
  (GET "/api/xyz" {{foo :foo} :params} (str "foo: " foo))
  (route/not-found "Page not found"))

我错过了什么?

1 个答案:

答案 0 :(得分:2)

如果始终将foo作为网址参数传递,您希望代码如下:

(defroutes app-routes    
  (GET "/api/xyz" [foo] (str "foo: " foo))
  (route/not-found "Page not found"))