インターフェース UriBuilder

すべての既知の実装クラス:
ServletUriComponentsBuilderUriComponentsBuilder

public interface UriBuilder
変数を使用して URI テンプレートを準備および展開するビルダースタイルのメソッド。

事実上 UriComponentsBuilder の一般化ですが、UriComponents ではなく URISE に直接拡張するショートカットがあり、エンコードの設定、ベース URI などの一般的な関心事を実装の関心事として残しています。

通常、一度構成され、多くの URL を作成するために使用される主要コンポーネントとして機能する UriBuilderFactory を介して取得されます。

導入:
5.0
作成者:
Rossen Stoyanchev
関連事項:
  • メソッドの詳細

    • scheme

      UriBuilder scheme(@Nullable StringSE scheme)
      URI テンプレート変数を含む URI スキームを設定します。このビルダーのスキームをクリアするには、null にすることもできます。
      パラメーター:
      scheme - URI スキーム
    • userInfo

      UriBuilder userInfo(@Nullable StringSE userInfo)
      URI テンプレート変数を含む URI ユーザー情報を設定します。このビルダーのユーザー情報をクリアするには、null にすることもできます。
      パラメーター:
      userInfo - URI ユーザー情報
    • host

      URI テンプレート変数を含む URI ホストを設定します。このビルダーのホストをクリアするには、null にすることもできます。
      パラメーター:
      host - URI ホスト
    • port

      UriBuilder port(int port)
      URI ポートを設定します。-1 を渡すと、このビルダーのポートがクリアされます。
      パラメーター:
      port - URI ポート
    • port

      URI ポートを設定します。このメソッドは、ポートを URI 変数でパラメーター化する必要がある場合にのみ使用してください。それ以外の場合は、port(int) を使用します。null を渡すと、このビルダーのポートがクリアされます。
      パラメーター:
      port - URI ポート
    • path

      UriBuilder path(StringSE path)
      このビルダーのパスに追加します。

      指定された値は、追加のスラッシュを挿入せずに、以前の path 値にそのまま追加されます。例:

      
       builder.path("/first-").path("value/").path("/{id}").build("123")
      
       // Results is "/first-value/123"
       

      対照的に、pathSegment は個々のパスセグメントの間にスラッシュを挿入します。例:

      
       builder.pathSegment("first-value", "second-value").path("/")
      
       // Results is "/first-value/second-value/"
       

      結果のフルパスは、重複するスラッシュを排除するために正規化されます。

      注意 : スラッシュを含む URI 変数値を path に挿入する場合、それらがエンコードされるかどうかは、構成されたエンコードモードによって異なります。詳細については、UriComponentsBuilder.encode() を参照してください。そうでない場合は、WebClient または RestTemplate を介して間接的に URI を構築する場合は、その encodingMode を参照してください。リファレンスドキュメントの URI エンコーディングセクションも参照してください。

      パラメーター:
      path - URI パス
    • replacePath

      UriBuilder replacePath(@Nullable StringSE path)
      現在のパスを上書きします。
      パラメーター:
      path - URI パス、または空のパスの場合は null 
    • pathSegment

      UriBuilder pathSegment(StringSE... pathSegments) throws IllegalArgumentExceptionSE
      パスセグメントを使用してパスに追加します。例:
      
       builder.pathSegment("first-value", "second-value", "{id}").build("123")
      
       // Results is "/first-value/second-value/123"
       

      スラッシュがパスセグメントに存在する場合、エンコードされます。

      
       builder.pathSegment("ba/z", "{id}").build("a/b")
      
       // Results is "/ba%2Fz/a%2Fb"
       
      末尾にスラッシュを挿入するには、path(java.lang.String) ビルダーメソッドを使用します。
      
       builder.pathSegment("first-value", "second-value").path("/")
      
       // Results is "/first-value/second-value/"
       

      空のパスセグメントは無視されるため、結果のフルパスに重複するスラッシュは表示されません。

      パラメーター:
      pathSegments - URI パスセグメント
      例外:
      IllegalArgumentExceptionSE
    • query

      UriBuilder query(StringSE query)
      指定されたクエリ文字列をクエリパラメーターに解析します。パラメーターは '&' で区切られ、その値がある場合は '=' で区切られます。クエリには、URI テンプレート変数が含まれる場合があります。

      注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。

      パラメーター:
      query - クエリ文字列
    • replaceQuery

      UriBuilder replaceQuery(@Nullable StringSE query)
      既存のクエリパラメーターをクリアしてから、query(String) に委譲します。

      注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。

      パラメーター:
      query - クエリ文字列。null 値は、すべてのクエリパラメーターを削除します。
    • queryParam

      UriBuilder queryParam(StringSE name, ObjectSE... values)
      指定されたクエリパラメーターを追加します。パラメーター名と値の両方に、後で値から展開される URI テンプレート変数を含めることができます。値が指定されていない場合、結果の URI にはクエリパラメーター名のみが含まれます。"?foo=bar" の代わりに "?foo"

      注意 : エンコードが適用される場合、"=" や "&" などのクエリパラメーター名または値で無効な文字のみがエンコードされます。RFC 3986 の構文規則に従って正当な他のすべてはエンコードされません。これには、エンコードされたスペースとしての解釈を避けるためにエンコードされる必要がある場合がある "+" が含まれます。URI テンプレート変数と変数値のより厳密なエンコーディングを使用して、より厳密なエンコーディングを適用できます。詳細については、Spring Framework リファレンスの「URI エンコーディング」セクションを参照してください。

      パラメーター:
      name - クエリパラメーター名
      values - クエリパラメーター値
      関連事項:
    • queryParam

      UriBuilder queryParam(StringSE name, @Nullable CollectionSE<?> values)
      コレクションを持つ queryParam(String, Object...) のバリアント。

      注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。

      パラメーター:
      name - クエリパラメーター名
      values - クエリパラメーター値
      導入:
      5.2
      関連事項:
    • queryParamIfPresent

      UriBuilder queryParamIfPresent(StringSE name, OptionalSE<?> value)
      指定された OptionalSE に値がある場合は、queryParam(String, Object...) または queryParam(String, Collection) のいずれかにデリゲートします。値が空の場合は、クエリパラメーターはまったく追加されません。
      パラメーター:
      name - クエリパラメーター名
      value - オプション。空であるか、クエリパラメーター値を保持しています。
      導入:
      5.3
    • queryParams

      UriBuilder queryParams(MultiValueMap<StringSE,StringSE> params)
      複数のクエリパラメーターと値を追加します。

      注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。

      パラメーター:
      params - パラメーター
    • replaceQueryParam

      UriBuilder replaceQueryParam(StringSE name, ObjectSE... values)
      既存の値を置き換えるクエリパラメーター値を設定します。値が指定されていない場合、クエリパラメーターは削除されます。

      注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。

      パラメーター:
      name - クエリパラメーター名
      values - クエリパラメーター値
      関連事項:
    • replaceQueryParam

      UriBuilder replaceQueryParam(StringSE name, @Nullable CollectionSE<?> values)
      コレクションを持つ replaceQueryParam(String, Object...) のバリアント。

      注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。

      パラメーター:
      name - クエリパラメーター名
      values - クエリパラメーター値
      導入:
      5.2
      関連事項:
    • replaceQueryParams

      UriBuilder replaceQueryParams(MultiValueMap<StringSE,StringSE> params)
      既存の値をすべて削除した後、クエリパラメーター値を設定します。

      注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。

      パラメーター:
      params - クエリパラメーター名
    • fragment

      UriBuilder fragment(@Nullable StringSE fragment)
      URI フラグメントを設定します。指定されたフラグメントには URI テンプレート変数が含まれる場合があり、このビルダーのフラグメントをクリアするために null になる場合もあります。
      パラメーター:
      fragment - URI フラグメント
    • build

      URISE build(ObjectSE... uriVariables)
      URISE インスタンスを構築し、URI テンプレート変数を配列の値で置き換えます。
      パラメーター:
      uriVariables - URI 変数のマップ
      戻り値:
      URI
    • build

      URISE build(MapSE<StringSE,?> uriVariables)
      URISE インスタンスを構築し、URI テンプレート変数をマップの値で置き換えます。
      パラメーター:
      uriVariables - URI 変数のマップ
      戻り値:
      URI
    • toUriString

      StringSE toUriString()
      すべての URI コンポーネント値を完全な形式の URI 文字列に連結して、URI の文字列表現を返します。実装クラスは、現在の URI コンポーネント値の単純な String 連結を実行して、URI テンプレートのプレースホルダーを保持する必要があります。
      導入:
      6.1.2