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