簡體   English   中英

Scala REST API使用FormParams調用Java REST

[英]Scala REST API call to a Java REST with FormParams

我想知道你們是否確實知道在Scala中是否可以調用采用@FormParam參數的Java REST客戶端函數。

如果我在Java客戶端中的功能是這樣的:

@Path("registerEmail")
@POST
public RegisterEmailResult doRegisterEmail(@FormParam("email") final String email, @FormParam("password") String password/* Some other params */) {

如何在Scala中傳遞一些@FormParam參數? 我嘗試了這個:

def registerEmail(registerEmail: RegisterEmail): Future[Boolean] =
post(
  url("/theUrl/registerEmail"),
  new Gson().toJson(registerEmail)
).map {
  case data => true
}.recover {
  case _ => false
}

RegisterEmail模型具有Java函數參數的所有字段。

我錯過了什么 ? 否則,我將不得不像@QueryParams一樣再次使用Java函數,這似乎是一種更好的方法。

如果還包括部分導入,則更容易理解代碼。 可以使用url(我假設是Play的play.api.libs.ws.WS.url(...))來傳遞表單數據:

WS.url("/theUrl/registerEmail")
  .post(Map("email" -> Seq("someone@somewhere.com"), 
            "password" -> Seq("secretish")))

有關更多詳細信息,請參見https://www.playframework.com/documentation/2.3.x/ScalaWS (特別是搜索“提交表單數據”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM