T
- the body typepublic class RequestEntity<T> extends HttpEntity<T>
HttpEntity
that adds a method and
uri. Used in RestTemplate
and @Controller
methods.
In RestTemplate
, this class is used as parameter in
exchange()
:
MyRequest body = ... RequestEntity<MyRequest> request = RequestEntity .post(new URI("https://example.com/bar")) .accept(MediaType.APPLICATION_JSON) .body(body); ResponseEntity<MyResponse> response = template.exchange(request, MyResponse.class);
If you would like to provide a URI template with variables, consider using
DefaultUriBuilderFactory
:
// Create shared factory UriBuilderFactory factory = new DefaultUriBuilderFactory(); // Use factory to create URL from template URI uri = factory.uriString("https://example.com/{foo}").build("bar"); RequestEntity<MyRequest> request = RequestEntity.post(uri).accept(MediaType.APPLICATION_JSON).body(body);
Can also be used in Spring MVC, as a parameter in a @Controller method:
@RequestMapping("/handle") public void handle(RequestEntity<String> request) { HttpMethod method = request.getMethod(); URI url = request.getUrl(); String body = request.getBody(); }
getMethod()
,
getUrl()
Modifier and Type | Class and Description |
---|---|
static interface |
RequestEntity.BodyBuilder
Defines a builder that adds a body to the response entity.
|
static interface |
RequestEntity.HeadersBuilder<B extends RequestEntity.HeadersBuilder<B>>
Defines a builder that adds headers to the request entity.
|
EMPTY
Constructor and Description |
---|
RequestEntity(HttpMethod method,
URI url)
Constructor with method and URL but without body nor headers.
|
RequestEntity(MultiValueMap<String,String> headers,
HttpMethod method,
URI url)
Constructor with method, URL and headers but without body.
|
RequestEntity(T body,
HttpMethod method,
URI url)
Constructor with method, URL and body but without headers.
|
RequestEntity(T body,
HttpMethod method,
URI url,
Type type)
Constructor with method, URL, body and type but without headers.
|
RequestEntity(T body,
MultiValueMap<String,String> headers,
HttpMethod method,
URI url)
Constructor with method, URL, headers and body.
|
RequestEntity(T body,
MultiValueMap<String,String> headers,
HttpMethod method,
URI url,
Type type)
Constructor with method, URL, headers, body and type.
|
Modifier and Type | Method and Description |
---|---|
static RequestEntity.HeadersBuilder<?> |
delete(URI url)
Create an HTTP DELETE builder with the given url.
|
boolean |
equals(Object other) |
static RequestEntity.HeadersBuilder<?> |
get(URI url)
Create an HTTP GET builder with the given url.
|
HttpMethod |
getMethod()
Return the HTTP method of the request.
|
Type |
getType()
Return the type of the request's body.
|
URI |
getUrl()
Return the URL of the request.
|
int |
hashCode() |
static RequestEntity.HeadersBuilder<?> |
head(URI url)
Create an HTTP HEAD builder with the given url.
|
static RequestEntity.BodyBuilder |
method(HttpMethod method,
URI url)
Create a builder with the given method and url.
|
static RequestEntity.HeadersBuilder<?> |
options(URI url)
Creates an HTTP OPTIONS builder with the given url.
|
static RequestEntity.BodyBuilder |
patch(URI url)
Create an HTTP PATCH builder with the given url.
|
static RequestEntity.BodyBuilder |
post(URI url)
Create an HTTP POST builder with the given url.
|
static RequestEntity.BodyBuilder |
put(URI url)
Create an HTTP PUT builder with the given url.
|
String |
toString() |
getBody, getHeaders, hasBody
public RequestEntity(HttpMethod method, URI url)
method
- the methodurl
- the URLpublic RequestEntity(@Nullable T body, HttpMethod method, URI url)
body
- the bodymethod
- the methodurl
- the URLpublic RequestEntity(@Nullable T body, HttpMethod method, URI url, Type type)
body
- the bodymethod
- the methodurl
- the URLtype
- the type used for generic type resolutionpublic RequestEntity(MultiValueMap<String,String> headers, HttpMethod method, URI url)
headers
- the headersmethod
- the methodurl
- the URLpublic RequestEntity(@Nullable T body, @Nullable MultiValueMap<String,String> headers, @Nullable HttpMethod method, URI url)
body
- the bodyheaders
- the headersmethod
- the methodurl
- the URLpublic RequestEntity(@Nullable T body, @Nullable MultiValueMap<String,String> headers, @Nullable HttpMethod method, URI url, @Nullable Type type)
body
- the bodyheaders
- the headersmethod
- the methodurl
- the URLtype
- the type used for generic type resolution@Nullable public HttpMethod getMethod()
HttpMethod
enum valuepublic URI getUrl()
URI
@Nullable public Type getType()
null
if not knownpublic boolean equals(@Nullable Object other)
equals
in class HttpEntity<T>
public int hashCode()
hashCode
in class HttpEntity<T>
public String toString()
toString
in class HttpEntity<T>
public static RequestEntity.BodyBuilder method(HttpMethod method, URI url)
method
- the HTTP method (GET, POST, etc)url
- the URLpublic static RequestEntity.HeadersBuilder<?> get(URI url)
url
- the URLpublic static RequestEntity.HeadersBuilder<?> head(URI url)
url
- the URLpublic static RequestEntity.BodyBuilder post(URI url)
url
- the URLpublic static RequestEntity.BodyBuilder put(URI url)
url
- the URLpublic static RequestEntity.BodyBuilder patch(URI url)
url
- the URLpublic static RequestEntity.HeadersBuilder<?> delete(URI url)
url
- the URLpublic static RequestEntity.HeadersBuilder<?> options(URI url)
url
- the URL