我试图在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在游戏中执行此操作吗?
答案 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("&"))