これを達成しようとしています:
REST API への HTTP リクエスト -> 解析 -> 別の API への非同期呼び出しを作成 -> 非同期呼び出しの結果で http req に応答します。
現在、コードは次のようになっています。
def getItems(param: String): LiftResponse = {
@volatile var resp: LiftResponse = new BadResponse
param.toLowerCase match {
case "something" =>
val req = Async call returning a Future
req onSuccess {
case items =>
resp = new JsonResponse(items map (decompose(_)), S.getResponseHeaders(Nil), S.responseCookies, 200)
}
req onFailure {
case fail => resp = new BadResponse
}
resp
case _ => new OkResponse
}
}
しかし、それは貧弱な実装のようです。
上記を書くための慣用的な Scala の方法は何ですか?