Menu Close
第52章 コンテキスト情報の取得および使用
概要
コンテキスト情報には、リソースの URI、HTTP ヘッダー、およびその他のインジェクションアノテーションでは容易に使用できないその他の詳細に関する詳細情報が含まれます。Apache CXF は、可能なすべてのコンテキスト情報を単一のオブジェクトにまとめる特別なクラスを提供します。
52.1. コンテキストの概要
コンテキストアノテーション
javax.ws.rs.core.Context
アノテーションを使用して、コンテキスト情報がフィールドまたはリソースメソッドパラメーターに注入されるよう指定します。コンテキスト型の 1 つのフィールドまたはパラメーターにアノテーションを付けると、適切なコンテキスト情報をアノテーションが付けられたフィールドまたはパラメーターに注入するようにランタイムが指示されます。
コンテキストの型
表52.1「コンテキスト型」 は、インジェクト可能なコンテキスト情報の型と、それらをサポートするオブジェクトを示しています。
コンテキスト情報を使用できる場所
コンテキスト情報は JAX-RS アプリケーションの以下の部分で利用できます。
- リソースクラス
- リソースメソッド
- エンティティープロバイダー
- 例外マッパー
スコープ
@Context
アノテーションを使用して注入されたすべてのコンテキスト情報は現在のリクエストに固有です。これは、エンティティープロバイダーや例外マッパーを含むすべての場合に当てはまります。
コンテキストの追加
JAX-RS フレームワークにより、開発者はコンテキストメカニズムを使用して注入可能な情報の種類を拡張することができます。カスタムコンテキストを追加するには、Context<T>オブジェクトを実装し、それをランタイムに登録します。