我正在使用优秀的Dispatch库来发出 HTTP 请求,如下所示:
Http(url("http://foo.bar/baz").GET <<? Map("param1" -> "value1") OK as.String)
但是,我正在与期望 param1
的 REST 服务进行通信。是一个值列表。我如何在 Dispatch 中完成此任务?
我在源代码中看到<<?
需要 Traversable[(String,String)]
,所以也许就像传递 Traversable
一样简单允许键出现多次。有这样的猛兽吗?我一直在浏览 Scala API 文档,但找不到符合要求的文档。
如果做不到这一点,有没有办法 Hook 请求构建器?我看到 Dispatch 使用 com.ning.http.client.RequestBuilder
,我可以调用 addQueryParameter()
我自己。
最佳答案
嗯,在仔细研究了 Scala API 文档之后,我顿悟了! List
本身混合在 Traversable
中,因此一个 apply(String, String)
可以解决问题的列表。元组来救援:
Http(url("http://foo.bar/baz").GET <<? List(("param1" -> "value1"), ("param1" -> "value2")) OK as.String)
关于scala - 在 Scala Dispatch 0.9.5 中使用具有多个值的查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14504773/