【问题标题】:How to build a Uri in Spray?如何在 Spray 中构建 Uri?
【发布时间】:2015-12-10 03:25:18
【问题描述】:

我想通过 Spray 发出一个简单的GET 请求,并带有一些查询参数

Get("http://localhost/user?email=abc+a@abc.com")

但是 + 表示 application/x-www-form-urlencoded 内容中的空格导致对 http://localhost/user?email=abc a@abc.com 的调用(使用空格而不是加号)。

在将 URL 传递给 GET 请求之前,我可以使用非 Spray java.net.URLEncoder 对 URL 进行编码,但是我每次都这样做似乎是一种 hack。

是否有一种喷雾方式来应用查询参数并对其进行编码?

Uri("http://localhost/").withQuery(Map("email"->"abc+a@abc.com")) 是构造 Uri 的好方法,但它也不编码参数...

【问题讨论】:

    标签: scala spray


    【解决方案1】:

    实际上Uri("http://localhost/").withQuery(Map("email"->"abc+a@abc.com")) 工作正常,因为它对特殊符号进行了编码。

    但是,Uri("http://localhost/").withQuery("email=abc+a@abc.com") 没有。

    【讨论】:

      【解决方案2】:

      我使用 java.net.URLEncoder。我相信这是公认的方法。 如果这能自动发生就好了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-24
        • 1970-01-01
        • 1970-01-01
        • 2015-10-25
        • 2011-02-09
        • 2016-11-16
        • 1970-01-01
        • 2019-02-25
        相关资源
        最近更新 更多