Playframework:覆盖错误请求(Playframework: override BadRe

2019-09-23 11:39发布

我使用Playframework 2.0(斯卡拉版),我想重写我的控制器的一个“错误请求”的方法。 我控制器延伸的特点:

package controllers

import play.api._
import play.api.mvc._
import play.api.libs.json.JsValue
import play.api.libs.json.JsObject

/*
 * Simple trait to factor common code used by all controllers...
 */
trait AbstractController extends Controller {
 // Personal useful methods
 // ...
 // Implementation of an override of BadRequest ?
}

我的控制器:

package controllers

import play.api._
import play.api.mvc._
import play.api.Play.current
import play.api.libs.json._
import play.api.libs.json._
import play.api.libs.concurrent.Promise

object MyController extends AbstractController
{

 def myFunc (s: String) = {
    BadRequest(s) // should return what I'll define in MY BadRequest implementation
  }
}

我想要做的:实现错误请求的新的行为举止(即错误返回细节JSON) 用于扩展一个AbstractController控制器。 播放文件建议做,在全局对象(扩展GlobalSettings)和覆盖onBadRequest方法。 但我不希望这样的全球方法......只有在特定的控制器。

什么是最好的解决办法吗?

谢谢你的帮助。 格雷格

Answer 1:

我实在不明白的问题是在这里。 什么是错的只是压倒一切的呢?

trait AbstractController extends Controller {
  override val BadRequest = ... 

}


文章来源: Playframework: override BadRequest