6.4.3. JAX-RSレスポンスハンドラ¶
本ハンドラでは、後続のハンドラ(リソース(アクション)クラスや リクエストボディ変換ハンドラ) から戻されたレスポンス情報を、クライアントに返却する。 後続のハンドラで例外及びエラーが送出された場合には、エラー及び例外に対応したレスポンス情報を構築しクライアントに返却する。
本ハンドラでは、以下の処理を行う。
- 例外及びエラー発生時のレスポンス情報の生成を行う。 詳細は、 例外及びエラーに応じたレスポンスの生成 を参照。
- 例外及びエラー発生時のログ出力を行う。 詳細は、 例外及びエラーに応じたログ出力 を参照
- クライアントへのレスポンスの返却を行う。
処理の流れは以下のとおり。
6.4.3.2. モジュール一覧¶
<dependency>
<groupId>com.nablarch.framework</groupId>
<artifactId>nablarch-fw-jaxrs</artifactId>
</dependency>
6.4.3.3. 制約¶
なし。
6.4.3.4. 例外及びエラーに応じたレスポンスの生成¶
例外及びエラーに応じたレスポンス情報の生成は、 errorResponseBuilder プロパティに設定された ErrorResponseBuilder により行われる。 ただし、発生した例外クラスが HttpErrorResponse の場合は、 HttpErrorResponse#getResponse() から戻される HttpResponse がクライアントに戻される。
設定を省略した場合は、デフォルト実装の ErrorResponseBuilder が使用される。 デフォルト実装では、プロジェクト要件を満たせない場合は、デフォルト実装クラスを継承して対応すること。
以下に設定例を示す。
<component class="nablarch.fw.jaxrs.JaxRsResponseHandler">
<property name="errorResponseBuilder">
<component class="sample.SampleErrorResponseBuilder" />
</property>
</component>
6.4.3.5. 例外及びエラーに応じたログ出力¶
例外及びエラーに応じたログ出力は errorLogWriter プロパティに設定された JaxRsErrorLogWriter により行われる。
設定を省略した場合は、デフォルト実装の JaxRsErrorLogWriter が使用される。 デフォルト実装では、プロジェクト要件を満たせない場合は、デフォルト実装クラスを継承して対応すること。
以下に設定例を示す。
<component class="nablarch.fw.jaxrs.JaxRsResponseHandler">
<property name="errorLogWriter">
<component class="sample..SampleJaxRsErrorLogWriter" />
</property>
</component>