Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在 Compojure 中定义一个资源,如下所示:
(ANY "myres/:id" [id] (handler))
我希望 :id 是可选的(取决于是否指定了 ID,我的 API 的行为会有所不同)。
如果我尝试访问,这可以正常工作
http://mydomain/myres/12
但是,如果我尝试访问
http://mydomain/myres
没有指定 ID,我得到 404。
有没有办法让参数 :id 是可选的?
谢谢!
如何创建 2 个不同的路由,一个带有 id,另一个没有它,并从两个路由调用您的处理程序,如下所示:
(defn handler ([] "Response without id") ([id] (str "Response with id - " id))) (defroutes my-routes (ANY "myres" [] (handler)) (ANY "myres/:id" [id] (handler id)))