在我的Play应用程序中,我构建了一个这样的请求:
val a = 10
val b = 10
val req = ws.url(URL)
.withHeaders("Accept" -> "application/json")
.withQueryString("a" -> a, "b" -> b)
.withRequestTimeout(Duration.Inf)
我要做的是从地图构建查询字符串,这会引发以下错误:
val c = Map("a" -> a, "b" -> b)
val req = ws.url(URL)
.withHeaders("Accept" -> "application/json")
.withQueryString(c.toSeq)
.withRequestTimeout(Duration.Inf)
我收到类型不匹配错误:
Expected(String,String),actual:Seq [(String,any)]
答案 0 :(得分:2)
尝试
.withQueryString(c.toSeq : _*)
我相信这种方法需要varargs。
您可能还需要将值转换为Seq[String]
:
.withQueryString(c.mapValues(v => Seq(v.toString)).toSeq : _*)
也许?