2013-04-26 32 views
3

我試圖創建具有其中包含的Compojure的逗號的Compojure路線

(GET "/tags/multiple/:tag-names" [tag-names] multiple-tags) 

但由於某些原因逗號參數的路線,每當我包括在:tag-names領域,404逗號。當沒有逗號時,它工作正常。

有誰知道是什麼原因造成的,以及我如何解決它?

+0

您正在使用的Compojure'andler/api'或'處理器/ site'將請求路由? – 2013-04-26 06:18:03

回答

4

Compojure使用clout進行路由。來自cloutREADME

Clout同時支持關鍵字和通配符。關鍵字(如:title)將匹配除以下任何字符:/ . , ; ?

默認情況下,clout將逗號視爲路徑段分隔符。您可以通過將自定義正則表達式傳遞給路由來解決該問題。下面將使:tag-names匹配任何字符除了/

(GET ["/tags/multiple/:tag-names" :tag-names #"[^/]+"] [tag-names] multiple-tags)