Compojure与可配置的基本路由

时间:2015-05-05 19:41:09

标签: clojure ring compojure

我现在和Clojure,Ring和Compojure合作已有一段时间了,但我还是比较新的。

我需要知道的是如何制作可配置的基本路线,例如:

/:base-route

/:base-route/user

/:base-route/settings

/:base-route 可以是不同的(api,公司,东西......),并且将取决于内部检查。我无法做的是为所有路线创建一个通用检查,以查看 /:base-route 是否具有适当的值。例如, /:base-route 配置为 / api ,但用户尝试 / company / user - >回复必须是404。

1 个答案:

答案 0 :(得分:0)

好的,所以这样做的方法是使用正则表达式和上下文:

(defroutes routes
  (context ["/:base-route" :base-route (re-pattern base-route)] [base-route]
             (GET  "/user" [] (str "base: " base-route " user"))
             (GET  "/settings" [] (str "base: " base-route " settings"))))