public class DefaultUriBuilderFactory extends java.lang.Object implements UriBuilderFactory
UriComponentsBuilder に依存する UriBuilderFactory。 共通のベース URI、代替エンコードモード戦略などを使用して UriBuilder インスタンスを作成するオプションを提供します。
UriComponentsBuilder| 修飾子と型 | クラスと説明 |
|---|---|
static class | DefaultUriBuilderFactory.EncodingMode 複数の URI エンコード戦略を表す列挙体。 |
| コンストラクターと説明 |
|---|
DefaultUriBuilderFactory() ベース URI のないデフォルトコンストラクター。 |
DefaultUriBuilderFactory(java.lang.String baseUriTemplate) ベース URI を持つコンストラクター。 |
DefaultUriBuilderFactory(UriComponentsBuilder baseUri)UriComponentsBuilder を使用した DefaultUriBuilderFactory(String) のバリアント。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
UriBuilder | builder() デフォルト設定で URI ビルダーを作成します。 |
java.net.URI | expand(java.lang.String uriTemplate, java.util.Map<java.lang.String,?> uriVars)URI 変数のマップを使用して、指定された URI テンプレートを展開します。 |
java.net.URI | expand(java.lang.String uriTemplate, java.lang.Object... uriVars)URI 変数の配列を使用して、指定された URI テンプレートを展開します。 |
java.util.Map<java.lang.String,?> | getDefaultUriVariables() 設定済みのデフォルト URI 変数値を返します。 |
DefaultUriBuilderFactory.EncodingMode | getEncodingMode() 設定されたエンコードモードを返します。 |
void | setDefaultUriVariables(java.util.Map<java.lang.String,?> defaultUriVariables) 変数のマップで URI テンプレートを展開するときに使用するデフォルトの URI 変数値を提供します。 |
void | setEncodingMode(DefaultUriBuilderFactory.EncodingMode encodingMode) 使用するエンコードモードを設定します。 |
void | setParsePath(boolean parsePath) エンコードモードが EncodingMode.URI_COMPONENT に設定されている場合、入力パスをパスセグメントに解析するかどうか。これにより、パスの URI 変数がパスセグメントルールに従ってエンコードされ、たとえば "/" がエンコードされます。 |
boolean | shouldParsePath() エンコードモードが EncodingMode.URI_COMPONENT に設定されている場合、パスをパスセグメントに解析するかどうか。 |
UriBuilder | uriString(java.lang.String uriTemplate) 指定された URI テンプレートでビルダーを初期化します。 |
public DefaultUriBuilderFactory()
ターゲットアドレスは、各 UriBuilder で指定する必要があります。
public DefaultUriBuilderFactory(java.lang.String baseUriTemplate)
指定された URI テンプレートは、UriComponentsBuilder.fromUriString(java.lang.String) を介して解析され、UriBuilder 自体がすでにターゲットアドレスを持つ URI テンプレートで作成されていない限り、UriComponentsBuilder.uriComponents(org.springframework.web.util.UriComponents) を介してすべての UriBuilder にベース URI として適用されます。
baseUriTemplate - ベース URL を使用する URI テンプレート public DefaultUriBuilderFactory(UriComponentsBuilder baseUri)
UriComponentsBuilder を使用した DefaultUriBuilderFactory(String) のバリアント。public void setEncodingMode(DefaultUriBuilderFactory.EncodingMode encodingMode)
デフォルトでは、これは EncodingMode.TEMPLATE_AND_VALUES に設定されています。
注意 : 5.1 では、デフォルトが EncodingMode.URI_COMPONENT から変更されました。その結果、ビルトインのデフォルトに依存する WebClient も新しいデフォルトに切り替えられました。ただし、RestTemplate は、これを歴史的および後方互換性の理由から明示的に EncodingMode.URI_COMPONENT に明示的に設定します。
encodingMode - 使用するエンコードモード public DefaultUriBuilderFactory.EncodingMode getEncodingMode()
public void setDefaultUriVariables(@Nullable java.util.Map<java.lang.String,?> defaultUriVariables)
defaultUriVariables - デフォルトの URI 変数値 public java.util.Map<java.lang.String,?> getDefaultUriVariables()
public void setParsePath(boolean parsePath)
EncodingMode.URI_COMPONENT に設定されている場合、入力パスをパスセグメントに解析するかどうか。これにより、パスの URI 変数がパスセグメントルールに従ってエンコードされ、たとえば "/" がエンコードされます。 デフォルトでは、これは true に設定されています。
parsePath - パスをパスセグメントに解析するかどうか public boolean shouldParsePath()
EncodingMode.URI_COMPONENT に設定されている場合、パスをパスセグメントに解析するかどうか。public java.net.URI expand(java.lang.String uriTemplate,
java.util.Map<java.lang.String,?> uriVars)UriTemplateHandlerUriTemplateHandler 内の expand uriTemplate - URI テンプレート uriVars - 変数値 public java.net.URI expand(java.lang.String uriTemplate,
java.lang.Object... uriVars)UriTemplateHandlerUriTemplateHandler 内の expand uriTemplate - URI テンプレート uriVars - 変数値 public UriBuilder uriString(java.lang.String uriTemplate)
UriBuilderFactoryUriBuilderFactory 内の uriString uriTemplate - 使用する URI テンプレート public UriBuilder builder()
UriBuilderFactoryUriBuilderFactory 内の builder