public class ServletUriComponentsBuilder extends UriComponentsBuilder
Note: As of 5.1, methods in this class do not extract
 "Forwarded" and "X-Forwarded-*" headers that specify the
 client-originated address. Please, use
 ForwardedHeaderFilter, or similar from the underlying server, to extract
 and use such headers, or to discard them.
| Modifier | Constructor and Description | 
|---|---|
| protected  | ServletUriComponentsBuilder()Default constructor. | 
| protected  | ServletUriComponentsBuilder(ServletUriComponentsBuilder other)Create a deep copy of the given ServletUriComponentsBuilder. | 
| Modifier and Type | Method and Description | 
|---|---|
| ServletUriComponentsBuilder | cloneBuilder()Clone this  UriComponentsBuilder. | 
| static ServletUriComponentsBuilder | fromContextPath(HttpServletRequest request)Prepare a builder from the host, port, scheme, and context path of the
 given HttpServletRequest. | 
| static ServletUriComponentsBuilder | fromCurrentContextPath()Same as  fromContextPath(HttpServletRequest)except the
 request is obtained throughRequestContextHolder. | 
| static ServletUriComponentsBuilder | fromCurrentRequest()Same as  fromRequest(HttpServletRequest)except the
 request is obtained throughRequestContextHolder. | 
| static ServletUriComponentsBuilder | fromCurrentRequestUri()Same as  fromRequestUri(HttpServletRequest)except the
 request is obtained throughRequestContextHolder. | 
| static ServletUriComponentsBuilder | fromCurrentServletMapping()Same as  fromServletMapping(HttpServletRequest)except the
 request is obtained throughRequestContextHolder. | 
| static ServletUriComponentsBuilder | fromRequest(HttpServletRequest request)Prepare a builder by copying the scheme, host, port, path, and
 query string of an HttpServletRequest. | 
| static ServletUriComponentsBuilder | fromRequestUri(HttpServletRequest request)Prepare a builder from the host, port, scheme, and path (but not the query)
 of the HttpServletRequest. | 
| static ServletUriComponentsBuilder | fromServletMapping(HttpServletRequest request)Prepare a builder from the host, port, scheme, context path, and
 servlet mapping of the given HttpServletRequest. | 
| protected static HttpServletRequest | getCurrentRequest()Obtain current request through  RequestContextHolder. | 
| String | removePathExtension()Remove any path extension from the  requestURI. | 
build, build, build, build, buildAndExpand, buildAndExpand, clone, encode, encode, fragment, fromHttpRequest, fromHttpUrl, fromOriginHeader, fromPath, fromUri, fromUriString, host, newInstance, parseForwardedFor, path, pathSegment, port, port, query, queryParam, queryParam, queryParamIfPresent, queryParams, replacePath, replaceQuery, replaceQueryParam, replaceQueryParam, replaceQueryParams, scheme, schemeSpecificPart, toUriString, uri, uriComponents, uriVariables, userInfoprotected ServletUriComponentsBuilder()
protected ServletUriComponentsBuilder(ServletUriComponentsBuilder other)
other - the other builder to copy frompublic static ServletUriComponentsBuilder fromContextPath(HttpServletRequest request)
public static ServletUriComponentsBuilder fromServletMapping(HttpServletRequest request)
If the servlet is mapped by name, e.g. "/main/*", the path
 will end with "/main". If the servlet is mapped otherwise, e.g.
 "/" or "*.do", the result will be the same as
 if calling fromContextPath(HttpServletRequest).
public static ServletUriComponentsBuilder fromRequestUri(HttpServletRequest request)
public static ServletUriComponentsBuilder fromRequest(HttpServletRequest request)
public static ServletUriComponentsBuilder fromCurrentContextPath()
fromContextPath(HttpServletRequest) except the
 request is obtained through RequestContextHolder.public static ServletUriComponentsBuilder fromCurrentServletMapping()
fromServletMapping(HttpServletRequest) except the
 request is obtained through RequestContextHolder.public static ServletUriComponentsBuilder fromCurrentRequestUri()
fromRequestUri(HttpServletRequest) except the
 request is obtained through RequestContextHolder.public static ServletUriComponentsBuilder fromCurrentRequest()
fromRequest(HttpServletRequest) except the
 request is obtained through RequestContextHolder.protected static HttpServletRequest getCurrentRequest()
RequestContextHolder.@Nullable public String removePathExtension()
requestURI. This method must be invoked before any calls to UriComponentsBuilder.path(String)
 or UriComponentsBuilder.pathSegment(String...).
 
 GET http://www.foo.example/rest/books/6.json
 ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromRequestUri(this.request);
 String ext = builder.removePathExtension();
 String uri = builder.path("/pages/1.{ext}").buildAndExpand(ext).toUriString();
 assertEquals("http://www.foo.example/rest/books/6/pages/1.json", result);
 nullpublic ServletUriComponentsBuilder cloneBuilder()
UriComponentsBuilderUriComponentsBuilder.cloneBuilder in class UriComponentsBuilderUriComponentsBuilder object