パッケージ jakarta.ws.rs.ext
インターフェース ParamConverter<T>
- 型パラメーター:
T
-String
形式との間で変換可能なサポートされている Java 型。
public interface ParamConverter<T>
メッセージパラメーター値の
String
形式と対応するカスタム Java 型 T
の間の変換を担当するデリゲートの契約を定義します。@PathParam
、@QueryParam
、@MatrixParam
、@FormParam
、@CookieParam
、@HeaderParam
を介して挿入されたメッセージパラメーター値の変換がサポートされています。JAX-RS 実装は、すべての Java 型の ParamConverter
メカニズムをサポートする必要があります。ParamConverter
が型に使用できる場合は、セクション 3.2 に記載されている他のすべての変換戦略(つまり、単一の String
引数コンストラクター、静的 valueOf
または fromString
メソッドなど)よりも優先する必要があります。 デフォルトでは、パラメーター値の注入に使用される場合、選択された ParamConverter
インスタンスは、リソースまたはプロバイダモデル内の任意の default value
を変換するために JAX-RS ランタイムによって (アプリケーションデプロイ中に、デフォルトまたはその他の値が実際に要求されるまで) 使用されなければなりません。この変換戦略により、デフォルト値におけるいかなるエラーも、可能な限り早期に報告されることが保証されます。このデフォルトの動作は、ParamConverter
実装クラスに @Lazy
アノテーションを付けることでオーバーライドすることができます。この場合、@Lazy
アノテーションを付けたコンバーターに委ねられたデフォルト値の変換は、可能な限り最新のタイミングまで(デフォルト値の注入が必要となるまで)延期されます。
NOTE: この契約を実装するサービスは、登録可能な JAX-RS 拡張プロバイダーとして認識されません。代わりに、ParamConverter
インスタンスの提供を担当する ParamConverterProvider
インスタンスは、JAX-RS 拡張プロバイダーの 1 つとして登録する必要があります。
- 導入:
- 2.0
- 作成者:
- Marek Potociar
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インターフェース説明static @interface
@Lazy
アノテーションが付けられたparameter converter
に委譲されたdefault value
の変換は、値が実際に必要になった場合にのみ行われるべきであると規定しています(例:メソッドのサマリー
メソッドの詳細
fromString
指定された値を解析し、T
のインスタンスを作成します。- パラメーター:
value
- 文字列値。- 戻り値:
- 新しく作成された
T
のインスタンス。 - 例外:
IllegalArgumentExceptionSE
- 指定された文字列を解析できないか、null
である場合
toString
指定された値を文字列に変換します。このメソッドは、将来の使用のために予約されています。独自の JAX-RS 拡張機能がこのメソッドを活用する場合があります。ユーザーは、このようなメソッドのサポートには、移植性のないコードの作成が犠牲になることに注意する必要があります。
- パラメーター:
value
- 型T
の値。- 戻り値:
- 値の文字列表現。
- 例外:
IllegalArgumentExceptionSE
- 提供されたオブジェクトを直列化できない場合、またはnull
の場合。