次のように現在、私がプレイWS APIを介してGETリクエストを送信しています:体内のパラメータを使用して送信POSTリクエストに
wsClient
.url(myUrl)
.withQueryString(getParams(): _*)
.get()
今、私はHTTPポストを使用するには、このコールを変更したいです。以下を呼び出す場合:私はSeq[(String, String)]
を返すgetParams
方法からだと推測
Cannot write an instance of Seq[(String, String)] to HTTP response. Try to define a Writeable[Seq[(String, String)]]
:
wsClient
.url(myUrl)
.withMethod("POST")
.withBody(getParams(): _*)
.get()
私は、次のエラーメッセージが表示されます。
どうすればこの問題を解決できますか?ポストキーと値のペアは、コンテンツタイプここでapplication/x-www-form-urlencoded
を使用して送信されるHTTPを使用する場合
を投稿するためのコードです...参照してください。 [docs](https://www.playframework.com/documentation/2.5.x/ScalaWS#Request-with-additional-headers)。 –
ありがとうございます。私は 'get()'を 'post(getParams():_ *)'に置き換え、 '.withBody(getParams():_ *)'を削除しました。 –
また、 '.withBody(getParams():_ *)'は間違っています。** body **、JSON、XMLとして何を送信していますか?クエリ文字列は '?id = 5&name = whatever'のようなURLパラメータです。 –