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")
我想知道你们是否知道在 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")