DefaultUriBuilderFactory を推奨 @Deprecated public class DefaultUriTemplateHandler extends AbstractUriTemplateHandler
UriComponentsBuilder を使用することに基づく UriTemplateHandler のデフォルト実装。 すべての URI テンプレートのプレフィックスとして使用される baseUrl や、エンコードに関連するいくつかのオプションなど、URI テンプレートの処理方法をカスタマイズするためのいくつかのプロパティもあります。— それぞれ parsePath および strictEncoding。
| コンストラクターと説明 |
|---|
DefaultUriTemplateHandler() 使用すべきではありません。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected UriComponents | expandAndEncode(UriComponentsBuilder builder, java.util.Map<java.lang.String,?> uriVariables) 使用すべきではありません。 |
protected UriComponents | expandAndEncode(UriComponentsBuilder builder, java.lang.Object[] uriVariables) 使用すべきではありません。 |
protected java.net.URI | expandInternal(java.lang.String uriTemplate, java.util.Map<java.lang.String,?> uriVariables) 使用すべきではありません。 実際に URI テンプレートを展開してエンコードします。 |
protected java.net.URI | expandInternal(java.lang.String uriTemplate, java.lang.Object... uriVariables) 使用すべきではありません。 実際に URI テンプレートを展開してエンコードします。 |
protected UriComponentsBuilder | initUriComponentsBuilder(java.lang.String uriTemplate) 使用すべきではありません。 URI テンプレート文字列から UriComponentsBuilder を作成します。 |
boolean | isStrictEncoding() 使用すべきではありません。 予約されていないセット以外の文字を厳密にエンコードするかどうか。 |
void | setParsePath(boolean parsePath) 使用すべきではありません。 URI テンプレート文字列のパスをパスセグメントに解析するかどうか。 |
void | setStrictEncoding(boolean strictEncoding) 使用すべきではありません。 RFC 3986 セクション 2 で定義されている、予約されていないセットの外側の文字をエンコードするかどうか。 |
boolean | shouldParsePath() 使用すべきではありません。 ハンドラーがパスをパスセグメントに解析するように構成されているかどうか。 |
expand, expand, getBaseUrl, getDefaultUriVariables, setBaseUrl, setDefaultUriVariablespublic void setParsePath(boolean parsePath)
true に設定されている場合、URI テンプレートパスはすぐにパスセグメントに分解され、そこに展開された URI 変数はすべてパスセグメントエンコーディングルールに従います。実際には、パス内の URI 変数には、"/" 文字がエンコードされています。
デフォルトでは、これは false に設定されます。この場合、パスはフルパスとして保持され、拡張 URI 変数は "/" 文字を保持します。
parsePath - パスをパスセグメントに解析するかどうか public boolean shouldParsePath()
public void setStrictEncoding(boolean strictEncoding)
デフォルトでは、これは false に設定されます。この場合、指定された URI コンポーネントに対して無効な文字のみがエンコードされます。たとえば、URI 変数をパスセグメントに展開する場合、"/" 文字は不正でエンコードされます。";" ただし、文字は正当であり、予約された目的がある場合でもエンコードされません。
注意 : このプロパティは、parsePath プロパティも設定する必要性に優先します。
strictEncoding - 厳密なエンコードを実行するかどうか public boolean isStrictEncoding()
protected java.net.URI expandInternal(java.lang.String uriTemplate,
java.util.Map<java.lang.String,?> uriVariables)AbstractUriTemplateHandlerAbstractUriTemplateHandler の expandInternal protected java.net.URI expandInternal(java.lang.String uriTemplate,
java.lang.Object... uriVariables)AbstractUriTemplateHandlerAbstractUriTemplateHandler の expandInternal protected UriComponentsBuilder initUriComponentsBuilder(java.lang.String uriTemplate)
UriComponentsBuilder を作成します。この実装では、parsePath が有効になっているかどうかに応じて、パスをパスセグメントに分割します。protected UriComponents expandAndEncode(UriComponentsBuilder builder, java.util.Map<java.lang.String,?> uriVariables)
protected UriComponents expandAndEncode(UriComponentsBuilder builder, java.lang.Object[] uriVariables)