我正在使用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
}
}我想做的是:只为扩展BadRequest的控制器实现一个新的AbstractController功能(即返回一个带有错误细节的JSON )。Play文档建议在Global (扩展GlobalSettings)和重写onBadRequest方法中这样做。但我不想要这么全面的方法..。只适用于特定的控制员。
什么是最好的解决方案?
谢谢你的帮助。格雷格
发布于 2012-10-04 09:48:54
我不太明白这里有什么问题。仅仅推翻它有什么问题呢?
trait AbstractController extends Controller {
override val BadRequest = ...
}https://stackoverflow.com/questions/12724281
复制相似问题