使用依赖注入和动作组合

时间:2015-12-02 22:10:10

标签: scala playframework guice

我正在使用Play框架2.4并创建一个新的身份验证操作,该操作使用自定义缓存(后者又使用播放CacheApi)

我不能,使用任何动作组合方法,让依赖注入工作,以使其对我的控制器不可见。

我的控制器应如下所示:

class Application extends Controller {
  def index = AuthenticatedAction {
    Ok("You are authenticated! :D")
  }
}

目前我的行动看起来像是:

object AuthenticatedAction extends ActionBuilder[Request] {

  //val cache: ICache

  def invokeBlock[A](request: Request[A], block: (Request[A]) => Future[Result]) = {
    request.cookies.get("authenticated") match {
      case Some(cookie) => {
        //How do I create a cache?
        //cache.hasCookie(cookie) match {
        //  case Any => block(request)
        //  case None => Future.successful( Unauthorized("No!"))
        //}

        block(request)
      }
      case None => Future.successful( Unauthorized("No!"))
    }
  }
}

我有一个缓存类型ICache,但我不能以任何方式将其注入缓存val

0 个答案:

没有答案