我正在使用Playframework 2.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)仅。 播放文档建议在Global Object(扩展GlobalSettings)中执行此操作并覆盖onBadRequest方法。但我不想要一个如此全球化的方法......只能在特定的控制器中使用。
什么是最佳解决方案?
感谢您的帮助。 格雷格
答案 0 :(得分:1)
我真的不明白这里有什么问题。只是重写它有什么问题?
trait AbstractController extends Controller {
override val BadRequest = ...
}