2013-03-06 5 views
15

Play2/Scala WS APIを使用してHTTP POST要求をサービスエンドポイントに送信しようとしました。 HTTP POSTボディに送らすべきパラメータが存在しないため、どのように私はPlayframework 2/ScalaでWS APIを使用して空のボディリクエストをhttpでポストするには?

WS.url("http://service/endpoint).post() 

を使用してそれを送信することができます私は、引数なしでpost()を試してみましたが、それは私にエラーを与えました。

ユニットからHTTP応答のインスタンスを書き込むことはできません。 書き込み可能[ユニット]

あなたはこれを手伝ってもらえますか? post以来

事前のおかげでは...

答えて

25

あなたはplay.api.mvcからResults.EmptyContentを使用することができます WriteableContentTypeOf型クラスを実装した値を待ちます。だから私は

WS.url("http://service/endpoint").post(Results.EmptyContent()) 

が行う必要がありますね

APIを参照してください)。 (Didntテスト)

11

Play 2.6以降では、play.api.libs.ws.EmptyBodyを使用する必要があります。

import play.api.libs.ws.{EmptyBody, WSClient} 
WS.url("http://service/endpoint).post(EmptyBody) 

典型的なエラーは次のとおりです。

Cannot find an instance of play.api.mvc.Results.EmptyContent to WSBody. Define a BodyWritable[play.api.mvc.Results.EmptyContent] or extend play.api.libs.ws.ahc.DefaultBodyWritables 
関連する問題