Scala播放反向路由:如何重定向到POST路由

时间:2014-06-30 15:16:45

标签: scala playframework

执行Redirect()始终执行GET请求,但尝试重定向到的路由是POST路由。它还必须保留请求数据

1 个答案:

答案 0 :(得分:1)

  

我需要审核并记录一些内容,然后重定向通常的流程

我可以看到你的目标,但我建议Action Composition是更好的方法。这样,您就可以拥有一个可重复使用,可测试且专注的代码片段来执行审核和记录。

例如:(完全未经测试):

import play.api.mvc._

object AuditAction extends ActionBuilder[Request] {
    def invokeBlock[A](request: Request[A], block: (Request[A]) => Future[Result]) = {
      Logger.info("Action is being audited")
      YourAuditingLoggerHere.logAudit(request)
      block(request)
    }
}

在你的控制器中:

def submitAuditiableThing = AuditAction { implicit request =>
  YourBusinessLogicHere()
  Ok(views.html.success)
}