第52章 コンテキスト情報の取得と使用


概要

コンテキスト情報には、リソースの URI、HTTP ヘッダー、およびその他のインジェクションアノテーションを使用して読み取りできないその他の情報が含まれます。Apache CXF は、考えられるすべてのコンテキスト情報を 1 つのオブジェクトに統合する特別なクラスを提供します。

52.1. コンテキストの概要

コンテキストのアノテーション

javax.ws.rs.core.Context アノテーションを使用して、コンテキスト情報がフィールドまたはリソースメソッドパラメーターに注入されるよう指定します。コンテキスト型のいずれかのフィールドまたはパラメーターにアノテーションを付けると、適切なコンテキスト情報をアノテーション付きフィールドまたはパラメーターに注入するように、ランタイムに指示が出されます。

コンテキストのタイプ

表52.1「コンテキストタイプ」 は、挿入可能なコンテキスト情報のタイプと、その情報をサポートするオブジェクトを一覧表示します。

表52.1 コンテキストタイプ
オブジェクトコンテキスト情報

UriInfo

完全リクエスト URI

HttpHeaders

HTTP メッセージヘッダー

Request

最適な表現バリアントを判別するため、または一連の前提条件が設定されているかどうかを判別するために使用できる情報

SecurityContext

使用中の認証スキーム、要求チャネルが安全であるかどうか、およびユーザー原則など、要求者のセキュリティーに関する情報

コンテキスト情報を使用できる場所

コンテキスト情報は、JAX-RS アプリケーションの以下の部分で利用できます。

  • リソースクラス
  • サブリソースメソッド
  • エンティティープロバイダー
  • 例外マッパー

スコープ

@Context アノテーションを使用して注入されたすべてのコンテキスト情報は現在のリクエストに固有です。これは、エンティティープロバイダーや例外マッパーを含むすべてのケースに該当します。

コンテキストの追加

JAX-RS フレームワークにより、開発者はコンテキストメカニズムを使用して注入できる情報タイプを拡張できます。Context<T> オブジェクトを実装し、ランタイムに登録して、カスタムコンテキストを追加します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.