私はScalaでPlay 2.5を使用しています。私は、複数の外部Webサービスを呼び出すクラスを作成しました。複数のWebサービスを呼び出す
外部Webサービスが何らかの条件で呼び出され、okまたはnokの簡単な応答が得られます。それがOKならば、私は内部オブジェクトの状態を更新する必要があります。もしnokなら今は何もしません。
ここは私のクラスです。これは、パラメータリストとしてのStringのリストのリストを取り、コントローラで扱うオブジェクトのFutureリストを返します。
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
リストのタイプリストであるが、私はそれは、応答の単純なリストになりたいです。
1)回答の一覧を取得するためにコードを単純化して修正する方法。後でOKかどうかを確認しますか?
2)回答がうまくいかなかったかどうかを確認するにはどうすればよいですか?