11.9.4. インターセプター優先度ファミリー

11.9.4.1. デフォルトのインターセプター優先度ファミリー

概要

インターセプターは呼び出される順番に敏感なことがあります。RESTEasy はインターセプターをファミリーにグループ化し、順番付けを簡易化します。この参照トピックではビルトインのインターセプター優先度ファミリーと各ファミリーに関連付けられるインターセプターについて取り上げます。

事前定義されたファミリーは 5 つあります。これらのファミリーは次の順序で呼び出されます。
SECURITY
SECURITY インターセプターは通常 PreProcessInterceptors です。呼び出しが承認されるまでの時間を最低限にするためこのインターセプターが最初に呼び出されます。
HEADER_DECORATOR
HEADER_DECORATOR インターセプターは応答または送信要求へヘッダーを追加します。追加されたヘッダーが他のインターセプターファミリーの挙動に影響することがあるため、SECURITY インターセプターの後に呼び出されます。
ENCODER
ENCODER インターセプターは OutputStream を変更します。GZIP インターセプターは GZIPOutputStream を作成し、圧縮するため真の OutputStream をラッピングします。
REDIRECT
REDIRECT インターセプターは要求のルートを変更し、JAX-RS メソッドを完全に迂回することがあるため、通常 PreProcessInterceptors で使用されます。
DECODER
DECODER インターセプターは inputStream をラッピングします。例えば、GZIP インターセプターデコーダーは GzipInputStream インスタンスの InputStream をラッピングします。
優先度ファミリーに関連付けられていないインターセプターは最後に呼び出されます。インターセプターに優先度ファミリーを割り当てるには、「RESTEasy JAX-RS 固有のアノテーション」 の通り @Precedence アノテーションを使用します。