Play Framework WS.withQueryString - 无法从请求传递查询字符串

时间:2013-08-14 00:28:05

标签: scala playframework-2.0

我是Scala和Play Framework的新手。我使用Play的play.api.libs.ws.WS发送网页请求时遇到了麻烦。我想用相同的查询字符串调用外部API并获得响应。麻烦我正在设置WS的withQueryString

上下文中的请求示例:

val queryString = request.queryString.map { case (k,v) => k -> v.mkString };
WS.url(someurl)
    .withQueryString(queryString.toList)
    .get()

我收到错误“type mismatch; found:List [(String,String)] required:(String,String)”

然而,似乎withQueryString接受了许多元组,即(String,String)*,而不是元组列表。什么是正确的方法?

1 个答案:

答案 0 :(得分:7)

像这样:

.withQueryString(queryString.toList: _*)

用于将某种类型A的集合传递给接受A的可变数量参数的方法的标准Scala语法(在您的情况下为(String, String)