我正在尝试创建一个带有参数的路由,该参数在compojure中包含逗号
(GET "/tags/multiple/:tag-names" [tag-names] multiple-tags)
但是由于某些原因,每当我在:tag-names字段中包含一个逗号时,它都是404。当没有逗号时,它工作得很好。
:tag-names
有没有人知道这是什么原因,以及我如何解决它?
发布于 2013-04-26 16:44:47
Compojure使用clout进行路由。来自clout的README
clout
README
Clout同时支持关键字和通配符。关键字(如:title)将匹配除以下字符以外的任何字符:/ . , ; ?。
:title
/ . , ; ?
默认情况下,clout将逗号视为路径段分隔符。您可以通过将自定义正则表达式传递给路由来解决此问题。以下命令将使:tag-names匹配除/之外的任何字符
/
(GET ["/tags/multiple/:tag-names" :tag-names #"[^/]+"] [tag-names] multiple-tags)
https://stackoverflow.com/questions/16229372
相似问题