我在当前的Scala项目中遇到了Spray Routing的问题 - 看来在执行HttpResponse子句后如下;
complete(HttpResponse(500, HttpEntity("There was an error in handling your request.")))
脚本似乎继续下去“快乐”。路径到达最终完成(HttpResponse)语句。
在上面的示例中,如果使用了不受支持/限制的参数类型,脚本将抛出上述错误。但是,脚本会继续,并尝试执行请求。
一个'解决方法'我尝试过这个设置;
var validRequest = true
如果上面的HttpResponse被触发,则会被翻转为false。然而,包裹着“快乐的道路”。围绕此条件导致如下错误;
[error] found : Unit
[error] required: spray.routing.directives.OnCompleteFutureMagnet[?]
我认为这是一条“快乐的道路”。进入一个承诺/未来,因为它需要在mongo上执行一些I / O.因此,它让脚本认为有可能永远不会退出这种方法。
我曾经想到的是将整个方法包含在承诺/未来中 - 但我不确定Scala中是否可行/可能。
有人可以指出我正确的方向吗?