Compojure 用途clout http://github.com/weavejester/clout用于路由匹配。点字符在影响力路线中具有特殊含义。它代表一个标记分隔符,类似于斜杠字符。以下字符均具有此含义:/ . , ; ?
.
这意味着像这样的路线"/images/:id"
不会匹配以下形式的 uri/images/name.jpg
since images
, name
and jpg
每个都代表着影响力中的一个单独的令牌。
为了匹配它,您可以根据需要以多种不同的方式编写路线。
如果您的所有图像都有.jpg
扩展,最简单的事情是:
(GET "/images/:id.jpg" [id] ...)
如果扩展名不同,您可以执行以下操作:
(GET "/images/:name.:extension" [name extension] ...)
如果你想限制扩展,你可以向 compojure/clout 传递一个正则表达式:
(GET ["/images/:name.:ext", :ext #"(jpe?g|png|gif)"] [name ext] ...)
您还可以使用通配符,它不太精确,并且会匹配以任何开头的 uri/images/
:
(GET "/images/*" [*] ...)