1
我正在写一个Spray + Akka小型服务器。博客文章脱颖而出,并推荐了这种询问模式。该CapserOk
类对此有着signiture:Akka询问未来恢复模式
case class CasperOk(company: Option[Company.Company], existOrNot: Boolean)
我检索这个数据库行,如果它不存在或发生一些错误,我要送出去,从喷雾告诉客户端的响应。
但是,使用这种模式,我不知道在哪里注入开关。
我试图把代码改成这样:
val response = (secCompanyActor ? jObjectFromCasper(company))
.mapTo[CasperOk]
.map(result => result.succeedOrNot match {
case true => (OK, "transaction successful")
case false => (Conflict, "FileLoc format is wrong or it already exists")
})
.recover{case _ => (InternalServerError, "error occured! We will fix this")}
complete(response)
喷雾使用complete()
发送一个HTTP响应。 complete()
可以带两个对象,或一个字符串/可序列化的对象。我想要使用两种对象模式(它允许我手动编码标题),理想情况应该看起来像complete(response._1, response._2)
有没有什么方法可以通过Akka的未来来实现?