【发布时间】:2016-10-14 05:38:43
【问题描述】:
我正在使用带有 Scala 的 Play 2.5,我创建了一个将多次调用外部 Web 服务的类。
在某些条件下调用外部 Web 服务并获得 ok 或 nok 的简单响应。如果没问题,那么我应该更新内部对象状态,如果没有,我现在什么都不做。
这是我的类,它接受一个字符串列表作为参数,并返回一个在控制器中处理的未来对象列表。
def callWSAndGetResponse(listOfList: List[List[String]]): Future[List[MyObject]] = {
val res = listOfList map { listOfIds =>
listOfIds map { id =>
val foundObj = allMyObject.find(obj => obj.id == id)
if(foundObj.isDefined) {
foundObj.get.urls map { url =>
val futureReponse: Future[WSResponse] = ws.url(url).get()
futureResponse map { response =>
(response.json \ "response").as[String]
}
}
}
}
}
// if responses are ok create a list of MyObject to return for example.
}
val res 是 list of list 类型,但我希望它只是一个简单的响应列表。
1)如何简化和更正我的代码以获得响应列表,以便以后检查是否正常?
2) 如何检查响应是否正常?
【问题讨论】:
标签: scala playframework