パッケージ 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 ParamConverter.Lazy
      @Lazy アノテーションが付けられた parameter converter に委譲された default value の変換は、値が実際に必要になった場合にのみ行われるべきであると規定しています(例:
    • メソッドの詳細

      • fromString

        T fromString​(StringSE value)
        指定された値を解析し、T のインスタンスを作成します。
        パラメーター:
        value - 文字列値。
        戻り値:
        新しく作成された T のインスタンス。
        例外:
        IllegalArgumentExceptionSE - 指定された文字列を解析できないか、null である場合
      • toString

        StringSE toString​(T value)
        指定された値を文字列に変換します。

        このメソッドは、将来の使用のために予約されています。独自の JAX-RS 拡張機能がこのメソッドを活用する場合があります。ユーザーは、このようなメソッドのサポートには、移植性のないコードの作成が犠牲になることに注意する必要があります。

        パラメーター:
        value - 型 T の値。
        戻り値:
        値の文字列表現。
        例外:
        IllegalArgumentExceptionSE - 提供されたオブジェクトを直列化できない場合、または null の場合。