2013-04-26 77 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)