Tom*_*oli 4 clojure compojure ring
我正在尝试创建一个具有参数的路由,该参数在compojure中包含逗号
(GET "/tags/multiple/:tag-names" [tag-names] multiple-tags)
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,每当我在:tag-names字段中包含一个逗号时,它就是404s.没有逗号时它可以正常工作.
有谁知道是什么原因造成的,以及我如何解决这个问题?
Compojure clout用于路由.来自clout的README:
Clout支持关键字和通配符.关键字(例如
:title)将匹配任何字符,但以下内容:/ . , ; ?.
默认情况下,clout将逗号视为路径段分隔符.您可以通过将自定义正则表达式传递给路径来解决此问题.以下将:tag-names匹配任何字符,除了/:
(GET ["/tags/multiple/:tag-names" :tag-names #"[^/]+"] [tag-names] multiple-tags)
Run Code Online (Sandbox Code Playgroud)