类 UriComponents
- java.lang.Object
- org.springframework.web.util.UriComponents
- 所有已实现的接口:
Serializable
public abstract class UriComponents extends Object implements Serializable
Represents an immutable collection of URI components, mapping component type to String values. Contains convenience getters for all components. Effectively similar toURI, but with more powerful encoding options and support for URI template variables.- 从以下版本开始:
- 3.1
- 作者:
- Arjen Poutsma, Juergen Hoeller, Rossen Stoyanchev
- 另请参阅:
UriComponentsBuilder, 序列化表格
嵌套类概要
嵌套类 修饰符和类型 类 说明 static interfaceUriComponents.UriTemplateVariablesDefines the contract for URI Template variables.
构造器概要
构造器 限定符 构造器 说明 protectedUriComponents(String scheme, String fragment)
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 protected abstract voidcopyToUriComponentsBuilder(UriComponentsBuilder builder)Set all components of the given UriComponentsBuilder.UriComponentsencode()Invoke this after expanding URI variables to encode the resulting URI component values.abstract UriComponentsencode(Charset charset)A variant ofencode()with a charset other than "UTF-8".UriComponentsexpand(Object... uriVariableValues)Replace all URI template variables with the values from a given array.UriComponentsexpand(Map<String,?> uriVariables)Replace all URI template variables with the values from a given map.UriComponentsexpand(UriComponents.UriTemplateVariables uriVariables)Replace all URI template variables with the values from the givenUriComponents.UriTemplateVariables.StringgetFragment()Return the fragment.abstract StringgetHost()Return the host.abstract StringgetPath()Return the path.abstract List<String>getPathSegments()Return the list of path segments.abstract intgetPort()Return the port.abstract StringgetQuery()Return the query.abstract MultiValueMap<String,String>getQueryParams()Return the map of query parameters.StringgetScheme()Return the scheme.abstract StringgetSchemeSpecificPart()Return the scheme specific part.abstract StringgetUserInfo()Return the user info.abstract UriComponentsnormalize()Normalize the path removing sequences like "path/..".StringtoString()A simple pass-through totoUriString().abstract URItoUri()Create aURIfrom this instance as follows:abstract StringtoUriString()Concatenate all URI components to return the fully formed URI String.
构造器详细资料
UriComponents
protected UriComponents(@Nullable String scheme, @Nullable String fragment)
方法详细资料
getFragment
@Nullable public final String getFragment()
Return the fragment. Can benull.
getSchemeSpecificPart
@Nullable public abstract String getSchemeSpecificPart()
Return the scheme specific part. Can benull.
getUserInfo
@Nullable public abstract String getUserInfo()
Return the user info. Can benull.
getPort
public abstract int getPort()
Return the port.-1if no port has been set.
getPathSegments
public abstract List<String> getPathSegments()
Return the list of path segments. Empty if no path has been set.
getQueryParams
public abstract MultiValueMap<String,String> getQueryParams()
Return the map of query parameters. Empty if no query has been set.
encode
public final UriComponents encode()
Invoke this after expanding URI variables to encode the resulting URI component values.In comparison to
UriComponentsBuilder.encode(), this method only replaces non-ASCII and illegal (within a given URI component type) characters, but not characters with reserved meaning. For most cases,UriComponentsBuilder.encode()is more likely to give the expected result.
encode
public abstract UriComponents encode(Charset charset)
A variant ofencode()with a charset other than "UTF-8".- 参数:
charset- the charset to use for encoding- 另请参阅:
UriComponentsBuilder.encode(Charset)
expand
public final UriComponents expand(Map<String,?> uriVariables)
Replace all URI template variables with the values from a given map.The given map keys represent variable names; the corresponding values represent variable values. The order of variables is not significant.
- 参数:
uriVariables- the map of URI variables- 返回:
- the expanded URI components
expand
public final UriComponents expand(Object... uriVariableValues)
Replace all URI template variables with the values from a given array.The given array represents variable values. The order of variables is significant.
- 参数:
uriVariableValues- the URI variable values- 返回:
- the expanded URI components
expand
public final UriComponents expand(UriComponents.UriTemplateVariables uriVariables)
Replace all URI template variables with the values from the givenUriComponents.UriTemplateVariables.- 参数:
uriVariables- the URI template values- 返回:
- the expanded URI components
normalize
public abstract UriComponents normalize()
Normalize the path removing sequences like "path/..". Note that normalization is applied to the full path, and not to individual path segments.
toUriString
public abstract String toUriString()
Concatenate all URI components to return the fully formed URI String.This method does nothing more than a simple concatenation based on current values. That means it could produce different results if invoked before vs after methods that can change individual values such as
encode,expand, ornormalize.
toUri
public abstract URI toUri()
Create aURIfrom this instance as follows:If the current instance is
encoded, form the full URI String viatoUriString(), and then pass it to the single argumentURIconstructor which preserves percent encoding.If not yet encoded, pass individual URI component values to the multi-argument
URIconstructor which quotes illegal characters that cannot appear in their respective URI component.
toString
public final String toString()
A simple pass-through totoUriString().
copyToUriComponentsBuilder
protected abstract void copyToUriComponentsBuilder(UriComponentsBuilder builder)
Set all components of the given UriComponentsBuilder.- 从以下版本开始:
- 4.2