我正在尝试使以下任何映射工作,以映射http://mysite.org/add?http://sitetoadd.com
或http://mysite.org/add?u=http://sitetoadd.com
(GET "/add?:url" [url] url)
(GET "/add?u=:url" [url] url)
(GET "/add" {params :params} (params :u))
(GET "/add" {params :params} (params "u"))
(GET "/add" [u] u)
但它总是失败,我不知道为什么。另一方面,这个可以正常工作:
(GET "/add/:url" [url] url)
但是我不能使用它,因为我必须传递一个URL,而http://mysite.org/add/http://sitetoadd.com
是无效的,而http://mysite.org/add?http://sitetoadd.com
是可以的。
编辑:转储request
后发现参数为空。我以为它会包含POST和GET参数,但我只能在:query-string("u=asd")中找到我传递的参数。 似乎需要一个中间件来解析查询字符串。 无论如何,我的问题仍然存在。