如何在scala play框架中停止执行或抛出错误

时间:2017-12-18 13:04:41

标签: scala playframework

我正在开发一个带有播放框架的scala应用程序,但我有些奇怪。 我不能停止执行也不会抛出错误以便为客户端发送响应,它总是继续代码并且总是返回正常,但是我做了一个虚拟函数它应该返回一个错误的请求但不幸的是它回来好,这就是我写的。任何帮助将不胜感激

e'

上面的代码返回OK做得好。

2 个答案:

答案 0 :(得分:4)

要使代码返回BadRequest,请添加else

def foo(locale: String, orderId: Int) = Action { implicit request => {
  val x = 4 + 7;
  if (x == 11)
    BadRequest(JsonHelper.convertToJson("Bad bad it is really bad "))
  else // <---
    OK(JsonHelper.convertToJson("Well Done"))
}}

答案 1 :(得分:3)

如果没有花括号,你的问题就是你的问题。

参考此链接:https://docs.scala-lang.org/style/control-structures.html#curly-braces

  

if - 如果你有一个else子句,则省略括号。否则,环绕   带有花括号的内容,即使内容只有一个   线。

所以你可以用大括号来表示BadRequest,或者在Bad和OK指令之间添加else语句。小心,不要忘记缩进!

编辑20/12/2017&gt;&gt; un scala最后一条指令被隐式返回。你的上一条指令没问题,所以它返回OK。

在if块中添加显式return语句或添加else语句。