我嘗試使用Play2/Scala WS API向服務端點發送HTTP POST請求。由於沒有在HTTP POST體發送參數,我怎麼可以把它用如何在Playframework 2/Scala中使用WS API使用空的正文請求進行http發佈?
WS.url("http://service/endpoint).post()
我試圖post()
沒有說法,但它給了我一個錯誤。
無法將Unit的實例寫入HTTP響應。嘗試定義一個 可寫[單位]
你能幫忙嗎?
在此先感謝...
我嘗試使用Play2/Scala WS API向服務端點發送HTTP POST請求。由於沒有在HTTP POST體發送參數,我怎麼可以把它用如何在Playframework 2/Scala中使用WS API使用空的正文請求進行http發佈?
WS.url("http://service/endpoint).post()
我試圖post()
沒有說法,但它給了我一個錯誤。
無法將Unit的實例寫入HTTP響應。嘗試定義一個 可寫[單位]
你能幫忙嗎?
在此先感謝...
由於post
等待實現了Writeable
和ContentTypeOf
類型類的值, 你可以從play.api.mvc
使用Results.EmptyContent
。 (見API)
所以我想
WS.url("http://service/endpoint").post(Results.EmptyContent())
應該做的。 (Didnt test)
對於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