4

我正在尝试创建一个具有参数的路由,该参数在 compojure 中包含逗号

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

但由于某种原因,每当我在该字段中包含逗号时:tag-names,它就是 404s。没有逗号时它工作正常。

有谁知道这是什么原因以及我该如何解决它?

4

1 回答 1

5

Compojureclout用于路由。来自: clout_README

Clout 支持关键字和通配符。关键字(如:title)将匹配除以下字符之外的任何字符:/ . , ; ?.

默认情况下,clout将逗号视为路径段分隔符。您可以通过将自定义正则表达式传递给路由来解决此问题。以下将:tag-names匹配除 之外的任何字符/

(GET ["/tags/multiple/:tag-names" :tag-names #"[^/]+"] [tag-names] multiple-tags)
于 2013-04-26T08:44:47.290 回答