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 through RequestContextHolder . |
static ServletUriComponentsBuilder |
fromCurrentRequest()
Same as
fromRequest(HttpServletRequest) except the
request is obtained through RequestContextHolder . |
static ServletUriComponentsBuilder |
fromCurrentRequestUri()
Same as
fromRequestUri(HttpServletRequest) except the
request is obtained through RequestContextHolder . |
static ServletUriComponentsBuilder |
fromCurrentServletMapping()
Same as
fromServletMapping(HttpServletRequest) except the
request is obtained through RequestContextHolder . |
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, path, pathSegment, port, port, query, queryParam, queryParam, queryParams, replacePath, replaceQuery, replaceQueryParam, replaceQueryParam, replaceQueryParams, scheme, schemeSpecificPart, toUriString, uri, uriComponents, uriVariables, userInfo
protected 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);
null
public ServletUriComponentsBuilder cloneBuilder()
UriComponentsBuilder
UriComponentsBuilder
.cloneBuilder
in class UriComponentsBuilder
UriComponentsBuilder
object