要求についての詳細情報を取得するための JAX-RS 2.0 コンテキスト・オブジェクトの使用
Java API for RESTful Web Services (JAX-RS) 2.0 は、 アプリケーション・サブクラス、ルート・リソース・クラス、およびプロバイダーに、さまざまなタイプのコンテキストを提供します。@Context アノテーションを使用して、 コンテキスト・オブジェクト (HttpHeaders、UriInfo、HttpServletRequest など) を、 アプリケーション・サブクラス、ルート・リソース・クラス、およびプロバイダーのクラス・フィールドまたはメソッド・パラメーターに注入できます。
このタスクについて
以下のコンテキスト・オブジェクトを使用できます。これらは、プロバイダー (クライアントおよびサーバー)、リソース・クラス (サーバーのみ)、および Application サブクラス (サーバーのみ) に使用できます。
コンテキスト・オブジェクト | タイプ | 説明 |
---|---|---|
Application | クラス | @Context アノテーションを使用して、アプリケーションが供給する Application サブクラスのインスタンスをクラス・フィールドまたはメソッド・パラメーターに注入できます。
Application サブクラス・インスタンスへのアクセスは、そのクラスに構成情報を中央化することを可能にします。 注: この Application サブクラスを Application サブクラス自体に注入することはできません。循環する依存関係が生成されるためです。
|
UriInfo | インターフェース | UriInfo インターフェースは、要求 URI のコンポーネントに関する、静的および動的な、要求ごとの情報を提供します。 |
HttpHeaders | インターフェース | HttpHeaders インターフェースは、要求ヘッダー情報へのアクセスを、マップ形式で、または、 強く型付けられた便利メソッドを介して提供します。 |
Request | インターフェース | Request インターフェースは、呼び出し元が最適の表現バリアントを決定すること、および、 リソースの現行状態が要求内のいずれかの前提条件に合致するかどうかを評価することを許可します。 |
SecurityContext | インターフェース | SecurityContext インターフェースは、現行要求のセキュリティー・コンテキストについての情報へのアクセスを提供します。 |
Providers | インターフェース | Providers インターフェースは、検索条件のセットに基づいた、プロバイダー・インスタンスのルックアップを許可します。 |
ResourceContext | インターフェース | ResourceContext インターフェースは、デフォルトの要求ごとの有効範囲において、リソース・クラスまたはサブリソース・クラスのインスタンス化および初期化へのアクセスを提供します。 |
Configuration | インターフェース | クライアントとサーバー両方のランタイム構成が @Context を介した注入に使用可能です。これらの構成は、 プロバイダー (クライアントまたはサーバー) およびリソース・クラス (サーバーのみ) での注入に使用可能です。 |