类 DefaultUriTemplateHandler
- java.lang.Object
- org.springframework.web.util.AbstractUriTemplateHandler
- org.springframework.web.util.DefaultUriTemplateHandler
- 所有已实现的接口:
UriTemplateHandler
public class DefaultUriTemplateHandler extends AbstractUriTemplateHandler
Default implementation ofUriTemplateHandler
based on the use ofUriComponentsBuilder
for expanding and encoding variables.There are also several properties to customize how URI template handling is performed, including a
baseUrl
to be used as a prefix for all URI templates and a couple of encoding related options —parsePath
andstrictEncoding
respectively.- 从以下版本开始:
- 4.2
- 作者:
- Rossen Stoyanchev
构造器概要
构造器 构造器 说明 DefaultUriTemplateHandler()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected UriComponents
expandAndEncode(UriComponentsBuilder builder, Object[] uriVariables)
protected UriComponents
expandAndEncode(UriComponentsBuilder builder, Map<String,?> uriVariables)
protected URI
expandInternal(String uriTemplate, Object... uriVariables)
Actually expand and encode the URI template.protected URI
expandInternal(String uriTemplate, Map<String,?> uriVariables)
Actually expand and encode the URI template.protected UriComponentsBuilder
initUriComponentsBuilder(String uriTemplate)
Create aUriComponentsBuilder
from the URI template string.boolean
isStrictEncoding()
Whether to strictly encode any character outside the unreserved set.void
setParsePath(boolean parsePath)
Whether to parse the path of a URI template string into path segments.void
setStrictEncoding(boolean strictEncoding)
Whether to encode characters outside the unreserved set as defined in RFC 3986 Section 2.boolean
shouldParsePath()
Whether the handler is configured to parse the path into path segments.从类继承的方法 org.springframework.web.util.AbstractUriTemplateHandler
expand, expand, getBaseUrl, getDefaultUriVariables, setBaseUrl, setDefaultUriVariables
构造器详细资料
DefaultUriTemplateHandler
public DefaultUriTemplateHandler()
方法详细资料
setParsePath
public void setParsePath(boolean parsePath)
Whether to parse the path of a URI template string into path segments.If set to
true
the URI template path is immediately decomposed into path segments any URI variables expanded into it are then subject to path segment encoding rules. In effect URI variables in the path have any "/" characters percent encoded.By default this is set to
false
in which case the path is kept as a full path and expanded URI variables will preserve "/" characters.- 参数:
parsePath
- whether to parse the path into path segments
shouldParsePath
public boolean shouldParsePath()
Whether the handler is configured to parse the path into path segments.
setStrictEncoding
public void setStrictEncoding(boolean strictEncoding)
Whether to encode characters outside the unreserved set as defined in RFC 3986 Section 2. This ensures a URI variable value will not contain any characters with a reserved purpose.By default this is set to
false
in which case only characters illegal for the given URI component are encoded. For example when expanding a URI variable into a path segment the "/" character is illegal and encoded. The ";" character however is legal and not encoded even though it has a reserved purpose.Note: this property supersedes the need to also set the
parsePath
property.- 参数:
strictEncoding
- whether to perform strict encoding- 从以下版本开始:
- 4.3
isStrictEncoding
public boolean isStrictEncoding()
Whether to strictly encode any character outside the unreserved set.
expandInternal
protected URI expandInternal(String uriTemplate, Map<String,?> uriVariables)
从类复制的说明:AbstractUriTemplateHandler
Actually expand and encode the URI template.
expandInternal
protected URI expandInternal(String uriTemplate, Object... uriVariables)
从类复制的说明:AbstractUriTemplateHandler
Actually expand and encode the URI template.
initUriComponentsBuilder
protected UriComponentsBuilder initUriComponentsBuilder(String uriTemplate)
Create aUriComponentsBuilder
from the URI template string. This implementation also breaks up the path into path segments depending on whetherparsePath
is enabled.
expandAndEncode
protected UriComponents expandAndEncode(UriComponentsBuilder builder, Map<String,?> uriVariables)
expandAndEncode
protected UriComponents expandAndEncode(UriComponentsBuilder builder, Object[] uriVariables)