public interface UriBuilder
事実上 UriComponentsBuilder
の一般化ですが、UriComponents
ではなく URI
SE に直接拡張するショートカットがあり、エンコードの設定、ベース URI などの一般的な懸念を実装の懸念として残しています。
通常、一度構成され、多くの URL を作成するために使用される中央コンポーネントとして機能する UriBuilderFactory
を介して取得されます。
UriBuilderFactory
, UriComponentsBuilder
修飾子と型 | メソッドと説明 |
---|---|
URISE | build(MapSE<StringSE,?> uriVariables) URI SE インスタンスを構築し、URI テンプレート変数をマップの値で置き換えます。 |
URISE | build(ObjectSE... uriVariables) URI SE インスタンスを構築し、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 | 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)
指定された値は、重複をクリーンアップする以外のスラッシュのチェックなしで、そのまま追加されます。例:
builder.path("/first-").path("value/").path("/{id}").build("123") // Results is "/first-value/123"
対照的に、pathSegment(String...)
は個々のパスセグメントからパスを作成し、その場合、スラッシュは透過的に挿入されます。場合によっては、pathSegment
と path
の両方を組み合わせて使用することがあります。例:
builder.pathSegment("first-value", "second-value").path("/") // Results is "/first-value/second-value/"
URI 変数の値にスラッシュが含まれている場合、スラッシュがエンコードされるかどうかは、構成されたエンコードモードによって異なります。UriComponentsBuilder.encode()
を参照してください。DefaultUriBuilderFactory
を介して UriComponentsBuilder
を使用している場合(WebClient
または RestTemplate
など)、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 パスセグメント IllegalArgumentExceptionSE
UriBuilder 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 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)
URI
SE インスタンスを構築し、URI テンプレート変数を配列の値で置き換えます。uriVariables
- URI 変数のマップ