2016-09-29 28 views
0

電子メールとパスワードのテキストを含むフォームデータを送信する、POSTコールをPlayで実行しようとしています。フォームデータの投稿を投稿できません

これは私がこれまで試したものですが、これはコンパイルされません。

def ws: WSClient 

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

しかし、私は言ってForm("email" -> "xxx", "pass" -> "xxx")にエラーが表示されます。

不定値のパラメータを。 ERRO:配列[FormError]値: オプション[NotInferedT]

は、誰かがスカラを使って劇中でこれを実行する方法を知っていますか?

+0

はこれを参照してくださいように本文の形式は次のようになります。https://playframework.com/documentation/2.5.x/ScalaWS#Submitting-form-data – marcospereira

答えて

0

URLがフォームデータを受け入れているため。コンテンツタイプが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("&")) 
関連する問題