public interface UriBuilder 事実上 UriComponentsBuilder の一般化ですが、UriComponents ではなく URISE に直接拡張するショートカットがあり、エンコードの設定、ベース URI などの一般的な関心事を実装の関心事として残しています。
通常、一度構成され、多くの URL を作成するために使用される主要コンポーネントとして機能する UriBuilderFactory を介して取得されます。
UriBuilderFactory, UriComponentsBuilder| 修飾子と型 | メソッドと説明 |
|---|---|
URISE | build(MapSE<StringSE,?> uriVariables)URISE インスタンスを構築し、URI テンプレート変数をマップの値で置き換えます。 |
URISE | build(ObjectSE... uriVariables)URISE インスタンスを構築し、URI テンプレート変数を配列の値で置き換えます。 |
UriBuilder | fragment(StringSE fragment)URI フラグメントを設定します。 |
UriBuilder | host(StringSE host)URI テンプレート変数を含む URI ホストを設定します。このビルダーのホストをクリアするには、 null にすることもできます。 |
UriBuilder | path(StringSE path) このビルダーのパスに追加します。 |
UriBuilder | pathSegment(StringSE... pathSegments) パスセグメントを使用してパスに追加します。 |
UriBuilder | port(int port)URI ポートを設定します。 |
UriBuilder | port(StringSE port)URI ポートを設定します。 |
UriBuilder | query(StringSE query) 指定されたクエリ文字列をクエリパラメーターに解析します。パラメーターは '&' で区切られ、その値がある場合は '=' で区切られます。 |
UriBuilder | queryParam(StringSE name, CollectionSE<?> values) コレクションを持つ queryParam(String, Object...) のバリアント。 |
UriBuilder | queryParam(StringSE name, ObjectSE... values) 指定されたクエリパラメーターを追加します。 |
UriBuilder | queryParamIfPresent(StringSE name, OptionalSE<?> value) 指定された OptionalSE に値がある場合は、queryParam(String, Object...) または queryParam(String, Collection) のいずれかにデリゲートします。値が空の場合は、クエリパラメーターはまったく追加されません。 |
UriBuilder | queryParams(MultiValueMap<StringSE, StringSE> params) 複数のクエリパラメーターと値を追加します。 |
UriBuilder | replacePath(StringSE path) 現在のパスを上書きします。 |
UriBuilder | replaceQuery(StringSE query) 既存のクエリパラメーターをクリアしてから、 query(String) に委譲します。 |
UriBuilder | replaceQueryParam(StringSE name, CollectionSE<?> values) コレクションを持つ replaceQueryParam(String, Object...) のバリアント。 |
UriBuilder | replaceQueryParam(StringSE name, ObjectSE... values) 既存の値を置き換えるクエリパラメーター値を設定します。値が指定されていない場合、クエリパラメーターは削除されます。 |
UriBuilder | replaceQueryParams(MultiValueMap<StringSE, StringSE> params) 既存の値をすべて削除した後、クエリパラメーター値を設定します。 |
UriBuilder | scheme(StringSE scheme)URI テンプレート変数を含む URI スキームを設定します。このビルダーのスキームをクリアするには、 null にすることもできます。 |
UriBuilder | userInfo(StringSE userInfo)URI テンプレート変数を含む URI ユーザー情報を設定します。このビルダーのユーザー情報をクリアするには、 null にすることもできます。 |
UriBuilder scheme(@Nullable StringSE scheme)
null にすることもできます。scheme - URI スキーム UriBuilder userInfo(@Nullable StringSE userInfo)
null にすることもできます。userInfo - URI ユーザー情報 UriBuilder host(@Nullable StringSE host)
null にすることもできます。host - URI ホスト UriBuilder port(int port)
-1 を渡すと、このビルダーのポートがクリアされます。port - URI ポート UriBuilder port(@Nullable StringSE port)
port(int) を使用します。null を渡すと、このビルダーのポートがクリアされます。port - URI ポート 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 パス UriBuilder replacePath(@Nullable StringSE path)
path - URI パス、または空のパスの場合は null 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 パスセグメント IllegalArgumentExceptionSEUriBuilder query(StringSE query)
'&' で区切られ、その値がある場合は '=' で区切られます。クエリには、URI テンプレート変数が含まれる場合があります。 注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。
query - クエリ文字列 UriBuilder replaceQuery(@Nullable StringSE query)
query(String) に委譲します。 注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。
query - クエリ文字列。null 値は、すべてのクエリパラメーターを削除します。UriBuilder queryParam(StringSE name, ObjectSE... values)
"?foo=bar" の代わりに "?foo"。 注意 : エンコードが適用される場合、"=" や "&" などのクエリパラメーター名または値で無効な文字のみがエンコードされます。RFC 3986 の構文規則に従って正当な他のすべてはエンコードされません。これには、エンコードされたスペースとしての解釈を避けるためにエンコードされる必要がある場合がある "+" が含まれます。URI テンプレート変数と変数値のより厳密なエンコーディングを使用して、より厳密なエンコーディングを適用できます。詳細については、Spring Framework リファレンスの「URI エンコーディング」セクションを参照してください。
name - クエリパラメーター名 values - クエリパラメーター値 queryParam(String, Collection)UriBuilder queryParam(StringSE name, @Nullable CollectionSE<?> values)
queryParam(String, Object...) のバリアント。 注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。
name - クエリパラメーター名 values - クエリパラメーター値 queryParam(String, Object...)UriBuilder queryParamIfPresent(StringSE name, OptionalSE<?> value)
OptionalSE に値がある場合は、queryParam(String, Object...) または queryParam(String, Collection) のいずれかにデリゲートします。値が空の場合は、クエリパラメーターはまったく追加されません。name - クエリパラメーター名 value - オプション。空であるか、クエリパラメーター値を保持しています。UriBuilder queryParams(MultiValueMap<StringSE,StringSE> params)
注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。
params - パラメーター UriBuilder replaceQueryParam(StringSE name, ObjectSE... values)
注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。
name - クエリパラメーター名 values - クエリパラメーター値 replaceQueryParam(String, Collection)UriBuilder replaceQueryParam(StringSE name, @Nullable CollectionSE<?> values)
replaceQueryParam(String, Object...) のバリアント。 注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。
name - クエリパラメーター名 values - クエリパラメーター値 replaceQueryParam(String, Object...)UriBuilder replaceQueryParams(MultiValueMap<StringSE,StringSE> params)
注: は、queryParam(String, Object...) の Javadoc を参照して、個々のクエリパラメーターの処理とエンコードに関する詳細を確認してください。
params - クエリパラメーター名 UriBuilder fragment(@Nullable StringSE fragment)
null になる場合もあります。fragment - URI フラグメント URISE build(ObjectSE... uriVariables)
URISE インスタンスを構築し、URI テンプレート変数を配列の値で置き換えます。uriVariables - URI 変数のマップ