4

メソッドをオーバーライドしましたpublic Result onError(RequestHeader rh, Throwable t)が、このクラスRequestHeaderにはリクエストボディが保存されていないようです - API

ここでリクエストボディを取得する方法を知っている人はいますか?

4

1 に答える 1

4

簡単な解決策 -で使用できるpublic Action<?> onRequest(Request request, Method actionMethod)保存場所をオーバーライドしました。RequestBodyonError

:)

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());
}
于 2013-02-25T15:39:43.283 に答える