2014-03-04 99 views
1

使用compojure如何設置默認路由,例如如何設置默認路由?

(defroutes app 
    (GET '/api/user/:id/' [] show-user) 
    (default-handler render-template)) ; this is what I want 

有沒有辦法做到這一點?我知道not-found,但它給了我404的http狀態。

回答

5

您可以簡單地設置一個處理程序/

(defroutes app 
    (GET "/api/user/:id/" [] show-user) 
    (GET "/" render-template)) 

或者,如果你想預設任何HTTP動詞:

(defroutes app 
    (GET "/api/user/:id/" [] show-user) 
    (ANY "/" render-template)) 

的Compojure路線匹配從上到下所以任何尚未匹配將回落到您的/處理程序。

+0

我不認爲這是真的了。我認爲你需要(任何「*」渲染模板)。 – user3810626