小编Dav*_*vid的帖子

Play Framework 2.2动作组合返回自定义对象

我正在尝试创建一个自定义play.api.mvc.Action,可用于CustomerAccount根据请求填充a 并传递CustomerAccount到控制器.

对播放2.2.x的文档,我创建了一个ActionActionBuilder,但我似乎无法返回CustomerAccount从动作中.

我目前的代码是:

case class AccountWrappedRequest[A](account: CustomerAccount, request: Request[A]) extends WrappedRequest[A](request)

case class Account[A](action: Action[A]) extends Action[A] {
  lazy val parser = action.parser

  def apply(request: Request[A]): Future[SimpleResult] = {
    AccountService.getBySubdomain(request.host).map { account => 
      // Do something to return the account like return a new AccountWrappedRequest?
      action(AccountWrappedRequest(account, request))
    } getOrElse {
      Future.successful(NotFound(views.html.account_not_found()))
    }
  }
}

object AccountAction extends ActionBuilder[AccountWrappedRequest] { 
  def invokeBlock[A](request: Request[A], block: (AccountWrappedRequest[A]) => …
Run Code Online (Sandbox Code Playgroud)

action scala before-filter playframework playframework-2.2

7
推荐指数
1
解决办法
2784
查看次数