第47章 リソースクラスとメソッドへの情報の受け渡し


概要

JAX-RS は、開発者がリソースに渡される情報の出所を制御できるようにするアノテーションを複数指定します。アノテーションは、URI のマトリックスパラメーターなど、一般的な HTTP の概念に準拠しています。標準 API を使用すると、メソッドパラメーター、Bean プロパティー、およびリソースクラスフィールドでアノテーションを使用できます。Apache CXF には、一連のパラメーターを Bean に注入できるようにする拡張機能が含まれています。

47.1. データ注入の基本

概要

HTTP リクエストメッセージからのデータを使用して初期化されるパラメーター、フィールド、および Bean プロパティーには、ランタイムでそれらの値が注入されます。注入される特定のデータは、「JAX-RS API の使用」 で説明されている一連のアノテーションによって指定されます。

JAX-RS 仕様では、データが挿入されるタイミングにいくつかの制限があります。また、リクエストデータを挿入できるオブジェクトのタイプにも制限があります。

データが注入されるタイミング

要求データは、要求によりインスタンス化された時にオブジェクトに挿入されます。つまり、リソースに直接対応するオブジェクトのみがインジェクションアノテーションを使用できます。46章リソースの作成 で説明されているように、これらのオブジェクトは、@Path アノテーションが付けられたルートリソースまたはサブリソースロケーターメソッドから返されたオブジェクトのいずれかになります。

サポートされるデータタイプ

データを挿入できる特定のデータタイプセットは、挿入されたデータのソースを指定するために使用されるアノテーションによって異なります。ただし、すべてのインジェクションアノテーションは、少なくとも以下のデータタイプのセットをサポートします。

  • intchar、または long などのプリミティブ
  • 単一の String 引数を受け入れるコンストラクターを持つオブジェクト
  • 単一の String 引数を受け入れる静的 valueOf() メソッドを持つオブジェクト
  • List<T>、Set<T>、または SortedSet<T> オブジェクト。ここで T はリスト内の他の条件を満たします。
注記

インジェクションアノテーションがサポートされるデータ型に対する要件が異なる場合、アノテーションについては相違点が強調表示されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.