Не удается опубликовать отправку form-data

#scala #http #playframework

#scala #http #playframework

Вопрос:

Я пытаюсь выполнить POST-вызов в Play, который отправляет данные формы с текстом электронной почты и пароля.

Это то, что я пробовал до сих пор, но это не компилируется:

 def ws: WSClient

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

Но я получаю сообщение об ошибке, Form("email" -> "xxx", "pass" -> "xxx") говоря:

неуказанные параметры значения. ошибка: seq[FormError] значение: Опция [NotInferedT]

Кто-нибудь знает, как выполнить это в игре, используя Scala?

Комментарии:

1. Смотрите это: playframework.com/documentation/2.5.x /…

Ответ №1:

Поскольку URL принимает данные формы. Тип содержимого должен быть application/x-www-form-urlencoded , а формат тела будет выглядеть MyVariableOne=ValueOneamp;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("amp;"))