Scala Playframework:覆盖请求

Scala Playframework:覆盖请求,scala,playframework-2.0,Scala,Playframework 2.0,我正在使用PlayFramework2.0(scala版本),我想在我的一个控制器中重写“BadRequest”方法。 我的控制器扩展了一个特性: 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

我正在使用PlayFramework2.0(scala版本),我想在我的一个控制器中重写“BadRequest”方法。 我的控制器扩展了一个特性:

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
  }
}
我想做的是:只为扩展AbstractController的控制器实现BadRequest的新组件(即返回带有错误详细信息的JSON)。 播放文档建议在全局对象(扩展GlobalSettings)中执行此操作,并重写onBadRequest方法。但我不想要一个如此全局的方法。。。仅在特定控制器中

最好的解决方案是什么

谢谢你的帮助。
格雷格

我真的不明白这里有什么问题。仅仅覆盖它有什么错

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

}

金姆,你说得对,我犯了一个错误:用def代替val。