私はakka-httpとreactivemongoで簡単なWebサービスを書く必要があります。データを保存するスカラ将来のakka-http
機能は、この
def saveRoute(route: Route):Future[WriteResult] = {
collection.insert(route)
}
この関数は、私はルートの挿入IDで結果を返すとせずにこれを行う必要があり、この
val userRoutes = {
logRequestResult("akka-http-microservice") {
path("routes") {
(post & entity(as[Route])) { route =>
Database.saveRoute(route)
}
}
}
}
のように見える呼び出すコードのようになります。待機するスレッド。
Database.saveRoute(route).onComplete{
case Success(r) => complete(r.toString)
case Failure(e) => complete(e.getMessage)
}
をしようとした場合、それが値を返さないため それは、コンパイルできません。 私は汚い方法でそれを作る方法を知っていますが、実際には適切な方法で作りたいと思っています。
この場合、何を行う必要がありますか?このことについて、どのように置き換える
'Promise'を使用して' success'に値を入れることができます。 – sebszyller