目前,我通过Play WS API发送get请求,如下所示:
wsClient
.url(myUrl)
.withQueryString(getParams(): _*)
.get()
现在我想更改此调用以使用HTTP Post。致电以下人员时:
wsClient
.url(myUrl)
.withMethod("POST")
.withBody(getParams(): _*)
.get()
我收到以下错误:
无法将Seq [(String,String)]的实例写入HTTP响应。尝试定义可写[Seq [(String,String)]]
我猜是因为方法getParams
会返回Seq[(String, String)]
。
我该如何解决这个问题?
答案 0 :(得分:1)
使用http发布时,使用内容类型application/x-www-form-urlencoded
以下是发布的代码
client.url(myUrl)
.withHeaders("Content-type" -> "application/x-www-form-urlencoded")
.post(getParams.map { case (k, v) => s"$k=$v"}.mkString("&"))