我想通过Spray用一些查询参数做一个简单的GET
请求
Get("http://localhost/user?email=abc+a@abc.com")
但是+
表示application / x-www-form-urlencoded内容中的空格,导致调用http://localhost/user?email=abc a@abc.com
(使用空格而不是加号)。
我可以使用非Spray java.net.URLEncoder
对URL进行编码,然后再将其传递给GET请求,但是每次这样做都会像黑客一样。
是否有应用查询参数并对其进行编码的Spray方法?
Uri("http://localhost/").withQuery(Map("email"->"abc+a@abc.com"))
是构建Uri的一种很好的方法,但它也没有对params进行编码......
答案 0 :(得分:3)
实际上Uri("http://localhost/").withQuery(Map("email"->"abc+a@abc.com"))
可以很好地编码特殊符号。
但是,Uri("http://localhost/").withQuery("email=abc+a@abc.com")
没有。
答案 1 :(得分:0)
我使用java.net.URLEncoder。我相信这是公认的方法。 如果这种情况自动发生会很好!