Scala与Spray路由 - 停止执行并在HttpResponse后返回?

时间:2017-03-08 17:48:01

标签: scala spray

我在当前的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中是否可行/可能。

有人可以指出我正确的方向吗?

0 个答案:

没有答案