0

私がこのアクション構造を持っていると仮定します:

def checkAccess(request: Request[AnyContent]) {
    if (shouldntGetAccess()) {
        // I want to return 404 and stop execution here
    }
}

def index = Action { implicit request =>
    checkAccess(request)

    Ok
}

checkAccess()から404ページを返し、実行を停止するにはどうすればよいですか?これは、Play 1で単に呼び出すだけで達成されましたがnotFound()、Play2では同じように動作しないようです。

checkAccess()これは、いくつかの例外をスローし、それをキャプチャして正しい応答をレンダリングするためのフィルターを追加することで実現できますか?コードサンプルを提供するコードを作成する場合、それは素晴らしいことです。

4

1 に答える 1

2
def checkAccess(f: Request[AnyContent] => Result) = Action{ request => 
  if(shouldntGetAccess()){
  NotFound
}else{
  f(request)
}
}

def index = checkAccess{ request => 
  Ok("success")
}
于 2013-03-04T10:05:13.287 に答える