[英]Send POST request with parameters in body via Play WS API
目前,我通过 Play WS API 发送 get 请求,如下所示:
wsClient
.url(myUrl)
.withQueryString(getParams(): _*)
.get()
现在我想将此调用更改为使用 HTTP Post。 调用以下内容时:
wsClient
.url(myUrl)
.withMethod("POST")
.withBody(getParams(): _*)
.get()
我收到以下错误:
无法将 Seq[(String, String)] 的实例写入 HTTP 响应。 尝试定义一个 Writeable[Seq[(String, String)]]
我猜这是因为方法getParams
返回Seq[(String, String)]
。
我怎样才能解决这个问题?
使用 http post 键值对时,使用内容类型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("&"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.