0

我正在尝试使用 compojure 在如下请求中访问参数foo

/api/xyz?foo=bar 

compojure解构语法看起来不错,所以我想使用它。然而,以下只是为我提供“找不到页面”:

(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"))

我错过了什么?

4

1 回答 1

2

如果foo始终作为 URL 参数传递,您希望您的代码如下所示:

(defroutes app-routes    
  (GET "/api/xyz" [foo] (str "foo: " foo))
  (route/not-found "Page not found"))
于 2013-10-14T13:48:22.503 回答