2013-01-24 35 views

回答

4

简单的解决方案 - 我忽略了public Action<?> onRequest(Request request, Method actionMethod)我在那里保存RequestBody,我可以在onError中使用。

:)

private RequestBody lastBody; 

@Override 
public Action<?> onRequest(Request request, Method actionMethod) { 
    lastBody = request.body(); 
    return super.onRequest(request, actionMethod); 
} 

@Override 
public Result onError(RequestHeader rh, Throwable t) { 
    //here i can get the body 
    System.out.println(lastBody); 

    return play.mvc.Results.internalServerError(errorPage.render()); 
}