2014-11-07 2 views
0

나는 Playframework 2.3.x를 사용하고 있으며 컨트롤러 중 하나에서 BadRequest 메서드를 덮어 쓰려고합니다. 나는 정확히 this 스레드에서 볼 수있는 것과 동일한 요구 사항을 가지고 있지만 그 스레드에서 완료되지 않는 답과 관련이 있는지, 아니면 BadRequest 부모 항목을 찾을 수 없는지 확실하게 무시할 수 있습니다. BadRequestBadRequest 재생 프레임 워크를 재정의

다른 모든 컨트롤러가 BaseController 인 경우 extend. 나는 (BaseController을 확장) 모든 컨트롤러가 나는 방법 위 s:String에 통과 할 때

같은 JSON 뭔가로 변환거야 BadRequest 같은 대체하려면

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

BaseController 등 할 수있는 overrideBadRequestBaseController에서 원하는

override val BadRequest(msg:String) = Json.toJson(msg) //of course this doesn't complie 
+0

무엇으로 우선 적용 하시겠습니까? –

+0

@ m-z : 업데이트 된 질문과 자세한 내용. 저에게 알려주세요. – user2066049

+0

지금은 더 자세한 내용을 쓸 시간이 없지만 다음을 시도해보십시오. def BadRequest (msg : String) : Result = BadRequest (Json.toJson (msg))' 어떻게 동작할지 모르겠다.) –

답변

0

BadRequest here의 구현을 찾을 수 있습니다. BadRequest는 val이고 유형은 Status입니다. Status 클래스의 구현에는 문자열 매개 변수를 허용하는 apply 함수가 있습니다. BadRequest는 val이므로 다른 유형의 Status val로만 재정의 할 수 있으므로 BadRequest를 여기에서 원하는대로 재정의 할 수 있다고 생각하지 않습니다. 다른 이름으로 정의 할 수없는 이유가 있습니까?

def MyBadRequest(msg:String) = BadRequest(Json.toJson(msg)) 
관련 문제