Scala REST API 使用 FormParams 调用 Java REST

Scala REST API call to a Java REST with FormParams

我想知道你们是否知道在 Scala 中是否可以调用 Java REST 客户端函数,该函数需要 @FormParam 参数。

如果我在 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(具体搜索 "Submitting form data")