私はPlay 2.0
アプリを持っています
TestController.scala
def foo(p1: String) = Action {implicit request =>
Ok(bar(p1))
}
private def bar(p1: String) = {
//access request parameter here
}
implicit
に渡すrequest
ために使用する方法はありますかbar
私はPlay 2.0
アプリを持っています
TestController.scala
def foo(p1: String) = Action {implicit request =>
Ok(bar(p1))
}
private def bar(p1: String) = {
//access request parameter here
}
implicit
に渡すrequest
ために使用する方法はありますかbar
はい、できます:
def foo(p1: String) = Action { implicit request =>
Ok(bar(p1))
}
private def bar(p1: String)(implicit req: RequestHeader) = "content"
コード:
Action { implicit request
Actionオブジェクトでこのメソッドを呼び出します。
def apply(block: Request[AnyContent] => Result): Action[AnyContent] = {
つまり、「リクエスト」と呼ばれるものは、「ブロック」という名前のパラメータと一致します。ここでの「暗黙的」はオプションです。「request」値を暗黙的パラメーターとして他のメソッド/関数呼び出しで使用できるようにします。
「bar」関数のimplicitは、暗黙の値から「req」の値を取得できることを示しており、必ずしも明示的に渡す必要はありません。