未能发布表单数据的提交

时间:2016-09-29 11:33:52

标签: scala http playframework

我试图在Play中执行POST调用,提交带有电子邮件和密码文本的表单数据。

这是我到目前为止所尝试过的,但这并没有编译:

def ws: WSClient

ws.url(railsLoginApi).withHeaders("Content-type" -> "application/json").post(Form("email" -> "xxx", "pass" -> "xxx"))

但我在Form("email" -> "xxx", "pass" -> "xxx")中说错误:

  

未指定的值参数。 erro:seq [FormError]值:   选项[NotInferedT]

有人知道如何使用Scala在游戏中执行此操作吗?

1 个答案:

答案 0 :(得分:0)

由于网址正在接受表单数据。内容类型应为application/x-www-form-urlencoded,正文格式应为MyVariableOne=ValueOne&MyVariableTwo=ValueTwo

ws.url(railsLoginApi)
.withHeaders("Content-type" -> "application/x-www-form-urlencoded")
.post[String](Map("email" -> "xxx", "pass" -> "xxx").map { case (k, v) => s"$k=$v"}.mkString("&"))