1

REST 呼び出しが終了したときに、元のメソッドと生成された応答の注釈を検索して、カスタム メソッドを呼び出したいと思います。

このタスクにPostProcessInterceptororを使用できることはわかっていますが、例外が発生した場合は呼び出されません。MessageBodyWriterInterceptor

私の現在の解決策は、すべてのメソッドが特別な例外をスローし、それが custom によって処理されるというものですExceptionMapperが、元のリクエストとそれがどこから来たのかについての情報はありません。

例外が発生した場合に元のリクエストに関する情報を取得するためにバインドできるグローバル ワイド ハンドラはありますか?

はい、私はこの質問について知っています: RestEasy Post Process Interceptor chain not traversed when response created by ExceptionMapper

4

1 に答える 1

3

私自身の質問に答えるために。

元のリクエストを に注入し、ExceptionMapperそれに応じて反応またはカスタム アクションを実行できます。

@Provider
public class MyExceptionMapper implements ExceptionMapper<Throwable> {


    @Context
    private HttpServletRequest request;

    @Override
    public Response toResponse(Throwable exception)
    {

         // trigger event
         triggerOnExceptionEvent(request, exception);
    }
...
}
于 2013-11-12T07:46:11.400 に答える