我有一个Akka HTTP守护进程。假设我想以JSON格式接收一些客户端数据并将其异步保存到数据库中。我在POST分支中写了一条路线:
#!/usr/bin/env bash
if [ ! -d node-v6.9.1-linux-x64 ] ; then
wget https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.gz
tar -xzvf node-v6.9.1-linux-x64.tar.gz
mkdir node
mv node-v6.9.1-linux-x64/lib/node_modules node/
mv node-v6.9.1-linux-x64/bin/* node/
cd node
ln -s node_modules/npm/bin/npm-cli.js npm
cd ..
fi
node/npm install
node/npm run build
node/npm start
我发现path("product") {
entity(as[String]) { json =>
val saveFuture: Future[Unit] = Serialization.read[Product](json).save()
complete("")
}
}
可以放入complete
语句中,如:
onSuccess
但我无法理解如何将它们粘合在一起。
答案 0 :(得分:2)
您可以嵌套指令:
path("product") {
entity(as[String]) { json =>
val saveFuture: Future[Unit] = Serialization.read[Product](json).save()
onSuccess(saveFuture) {
complete("json was saved")
}
}
}