DefaultUriBuilderFactory
を推奨 注意 : DefaultUriBuilderFactory
の parsePath
プロパティのデフォルトは異なります(false から true へ)。
@DeprecatedSE public class DefaultUriTemplateHandler extends AbstractUriTemplateHandler
UriComponentsBuilder
を使用することに基づく UriTemplateHandler
のデフォルト実装。 すべての URI テンプレートのプレフィックスとして使用される baseUrl
や、エンコードに関連するいくつかのオプションなど、URI テンプレートの処理方法をカスタマイズするためのいくつかのプロパティもあります。— それぞれ parsePath
および strictEncoding
。
コンストラクターと説明 |
---|
DefaultUriTemplateHandler() 使用すべきではありません。 |
修飾子と型 | メソッドと説明 |
---|---|
protected UriComponents | expandAndEncode(UriComponentsBuilder builder, MapSE<StringSE,?> uriVariables) 使用すべきではありません。 |
protected UriComponents | expandAndEncode(UriComponentsBuilder builder, ObjectSE[] uriVariables) 使用すべきではありません。 |
protected URISE | expandInternal(StringSE uriTemplate, MapSE<StringSE,?> uriVariables) 使用すべきではありません。 実際に URI テンプレートを展開してエンコードします。 |
protected URISE | expandInternal(StringSE uriTemplate, ObjectSE... uriVariables) 使用すべきではありません。 実際に URI テンプレートを展開してエンコードします。 |
protected UriComponentsBuilder | initUriComponentsBuilder(StringSE uriTemplate) 使用すべきではありません。 URI テンプレート文字列から UriComponentsBuilder を作成します。 |
boolean | isStrictEncoding() 使用すべきではありません。 予約されていないセット以外の文字を厳密にエンコードするかどうか。 |
void | setParsePath(boolean parsePath) 使用すべきではありません。 URI テンプレート文字列のパスをパスセグメントに解析するかどうか。 |
void | setStrictEncoding(boolean strictEncoding) 使用すべきではありません。 RFC 3986 セクション 2 で定義されている、予約されていないセットの外側の文字をエンコードするかどうか。 |
boolean | shouldParsePath() 使用すべきではありません。 ハンドラーがパスをパスセグメントに解析するように構成されているかどうか。 |
expand, expand, getBaseUrl, getDefaultUriVariables, setBaseUrl, setDefaultUriVariables
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public 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 URISE expandInternal(StringSE uriTemplate, MapSE<StringSE,?> uriVariables)
AbstractUriTemplateHandler
AbstractUriTemplateHandler
の expandInternal
protected URISE expandInternal(StringSE uriTemplate, ObjectSE... uriVariables)
AbstractUriTemplateHandler
AbstractUriTemplateHandler
の expandInternal
protected UriComponentsBuilder initUriComponentsBuilder(StringSE uriTemplate)
UriComponentsBuilder
を作成します。この実装では、parsePath
が有効になっているかどうかに応じて、パスをパスセグメントに分割します。protected UriComponents expandAndEncode(UriComponentsBuilder builder, MapSE<StringSE,?> uriVariables)
protected UriComponents expandAndEncode(UriComponentsBuilder builder, ObjectSE[] uriVariables)