T
- String
形式との間で変換可能なサポートされている Java 型。public interface ParamConverter<T>
String
形式のメッセージパラメーター値と対応するカスタム Java 型 T
の間の変換を担当するデリゲートの契約を定義します。@PathParam
、@QueryParam
、@MatrixParam
、@FormParam
、@CookieParam
および @HeaderParam
を介して注入されたメッセージパラメーター値の変換がサポートされています。API 実装は、すべての Java タイプに対して ParamConverter
メカニズムをサポートする必要があります。ParamConverter
が型に使用できる場合、セクション 3.2 でメンションされている他のすべての変換戦略よりも優先される必要があります(つまり、単一 String
引数コンストラクター、静的 valueOf
または fromString
メソッドなど)。 デフォルトでは、パラメーター値の挿入に使用する場合、選択した ParamConverter
インスタンスを API ランタイムで熱心に使用して、リソースまたはプロバイダーモデル内の default value
を変換する必要があります。つまり、アプリケーションデプロイの実行中、値(デフォルトまたはその他)が実際に必要です。この変換戦略により、デフォルト値のエラーができるだけ早く報告されます。このデフォルトの動作は、ParamConverter
実装クラスに @Lazy
アノテーションを付けることでオーバーライドできます。このような場合、@Lazy
アノテーション付きコンバーターに委譲されたデフォルト値の変換は、可能な限り最新の時点まで延期されます(つまり、そのようなデフォルト値の挿入が必要になるまで)。
NOTE: この契約を実装するサービスは、登録可能な拡張プロバイダーとして認識されません。代わりに、ParamConverter
インスタンスを提供する ParamConverterProvider
インスタンスを拡張プロバイダーの 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)
このメソッドは、将来の使用のために予約されています。独自の API 拡張機能がこのメソッドを活用する場合があります。ユーザーは、このようなメソッドのサポートには、移植性のないコードの作成が犠牲になることに注意する必要があります。
value
- タイプ T
の値。IllegalArgumentExceptionSE
- 提供されたオブジェクトを直列化できない場合、または null
の場合。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.