我在Playframework上调用Webservice时遇到问题。我在那里我调用一个服务,并把它作为回应我的路线在Playframework上调用2个REST服务来组成响应
def test = Action.async { implicit request =>
val baseUrl = "serviceURL"
WS.url(baseUrl).get().map { response =>
val result = response.json.asOpt[List[Person]]
Ok(views.html.test(result.get))
}
}
这工作得很好的例子,但现在我想调用Web服务2,但我不能这样做,撰写因为响应WS.url().get()
调用返回Future
,我不知道如何从中提取Option
。所以问题是:
如何从Future
内部获得Option
?
我试着这样做:
def test = Action.async { implicit request =>
val baseUrl = "serviceURL"
val wsResult = WS.url(baseUrl).get().map { response =>
val result = response.json.asOpt[List[Person]]
}
Ok(views.html.test(wsResult.get))
}
但正如我所说wsResult
具有和Future
实例不Option