我是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)*,而不是元组列表。什么是正确的方法?
答案 0 :(得分:7)
像这样:
.withQueryString(queryString.toList: _*)
用于将某种类型A
的集合传递给接受A
的可变数量参数的方法的标准Scala语法(在您的情况下为(String, String)
)