我在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