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 つとして登録する必要があります。
修飾子と型 | インターフェースと説明 |
---|---|
static interface | ParamConverter.Lazy @Lazy アノテーションが付けられた parameter converter に委譲された default value の変換は、値が実際に必要になった場合にのみ行われるべきであると規定しています(例: |
修飾子と型 | メソッドと説明 |
---|---|
T | fromString(StringSE value) 指定された値を解析し、 T のインスタンスを作成します。 |
StringSE | toString(T value) 指定された値を文字列に変換します。 |
T fromString(StringSE value)
T
のインスタンスを作成します。value
- 文字列値。T
のインスタンス。IllegalArgumentExceptionSE
- 指定された文字列を解析できないか、null
である場合 StringSE toString(T value)
このメソッドは、将来の使用のために予約されています。独自の JAX-RS 拡張機能がこのメソッドを活用する場合があります。ユーザーは、このようなメソッドのサポートには、移植性のないコードの作成が犠牲になることに注意する必要があります。
value
- 型 T
の値。IllegalArgumentExceptionSE
- 提供されたオブジェクトを直列化できない場合、または null
の場合。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.