T
- the body typepublic class ResponseEntity<T> extends HttpEntity<T>
HttpEntity
that adds an HttpStatus
status code.
Used in RestTemplate
as well as in @Controller
methods.
In RestTemplate
, this class is returned by
getForEntity()
and
exchange()
:
ResponseEntity<String> entity = template.getForEntity("https://example.com", String.class); String body = entity.getBody(); MediaType contentType = entity.getHeaders().getContentType(); HttpStatus statusCode = entity.getStatusCode();
This can also be used in Spring MVC as the return value from an
@Controller
method:
@RequestMapping("/handle") public ResponseEntity<String> handle() { URI location = ...; HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.setLocation(location); responseHeaders.set("MyResponseHeader", "MyValue"); return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED); }Or, by using a builder accessible via static methods:
@RequestMapping("/handle") public ResponseEntity<String> handle() { URI location = ...; return ResponseEntity.created(location).header("MyResponseHeader", "MyValue").body("Hello World"); }
getStatusCode()
,
RestOperations.getForEntity(String, Class, Object...)
,
RestOperations.getForEntity(String, Class, java.util.Map)
,
RestOperations.getForEntity(URI, Class)
,
RequestEntity
Modifier and Type | Class and Description |
---|---|
static interface |
ResponseEntity.BodyBuilder
Defines a builder that adds a body to the response entity.
|
static interface |
ResponseEntity.HeadersBuilder<B extends ResponseEntity.HeadersBuilder<B>>
Defines a builder that adds headers to the response entity.
|
EMPTY
Constructor and Description |
---|
ResponseEntity(HttpStatus status)
Create a
ResponseEntity with a status code only. |
ResponseEntity(MultiValueMap<String,String> headers,
HttpStatus status)
Create a
ResponseEntity with headers and a status code. |
ResponseEntity(T body,
HttpStatus status)
Create a
ResponseEntity with a body and status code. |
ResponseEntity(T body,
MultiValueMap<String,String> headers,
HttpStatus status)
Create a
ResponseEntity with a body, headers, and a status code. |
Modifier and Type | Method and Description |
---|---|
static ResponseEntity.BodyBuilder |
accepted()
Create a builder with an ACCEPTED status.
|
static ResponseEntity.BodyBuilder |
badRequest()
Create a builder with a BAD_REQUEST status.
|
static ResponseEntity.BodyBuilder |
created(URI location)
Create a new builder with a CREATED status
and a location header set to the given URI.
|
boolean |
equals(Object other) |
HttpStatus |
getStatusCode()
Return the HTTP status code of the response.
|
int |
getStatusCodeValue()
Return the HTTP status code of the response.
|
int |
hashCode() |
static ResponseEntity.HeadersBuilder<?> |
noContent()
Create a builder with a NO_CONTENT status.
|
static ResponseEntity.HeadersBuilder<?> |
notFound()
Create a builder with a NOT_FOUND status.
|
static <T> ResponseEntity<T> |
of(Optional<T> body)
A shortcut for creating a
ResponseEntity with the given body
and the OK status, or an empty body and a
NOT FOUND status in case of an
Optional.empty() parameter. |
static ResponseEntity.BodyBuilder |
ok()
Create a builder with the status set to OK.
|
static <T> ResponseEntity<T> |
ok(T body)
A shortcut for creating a
ResponseEntity with the given body
and the status set to OK. |
static ResponseEntity.BodyBuilder |
status(HttpStatus status)
Create a builder with the given status.
|
static ResponseEntity.BodyBuilder |
status(int status)
Create a builder with the given status.
|
String |
toString() |
static ResponseEntity.BodyBuilder |
unprocessableEntity()
Create a builder with an
UNPROCESSABLE_ENTITY status.
|
getBody, getHeaders, hasBody
public ResponseEntity(HttpStatus status)
ResponseEntity
with a status code only.status
- the status codepublic ResponseEntity(@Nullable T body, HttpStatus status)
ResponseEntity
with a body and status code.body
- the entity bodystatus
- the status codepublic ResponseEntity(MultiValueMap<String,String> headers, HttpStatus status)
ResponseEntity
with headers and a status code.headers
- the entity headersstatus
- the status codepublic ResponseEntity(@Nullable T body, @Nullable MultiValueMap<String,String> headers, HttpStatus status)
ResponseEntity
with a body, headers, and a status code.body
- the entity bodyheaders
- the entity headersstatus
- the status codepublic HttpStatus getStatusCode()
public int getStatusCodeValue()
public 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 ResponseEntity.BodyBuilder status(HttpStatus status)
status
- the response statuspublic static ResponseEntity.BodyBuilder status(int status)
status
- the response statuspublic static ResponseEntity.BodyBuilder ok()
public static <T> ResponseEntity<T> ok(@Nullable T body)
ResponseEntity
with the given body
and the status set to OK.body
- the body of the response entity (possibly empty)ResponseEntity
public static <T> ResponseEntity<T> of(Optional<T> body)
ResponseEntity
with the given body
and the OK status, or an empty body and a
NOT FOUND status in case of an
Optional.empty() parameter.ResponseEntity
public static ResponseEntity.BodyBuilder created(URI location)
location
- the location URIpublic static ResponseEntity.BodyBuilder accepted()
public static ResponseEntity.HeadersBuilder<?> noContent()
public static ResponseEntity.BodyBuilder badRequest()
public static ResponseEntity.HeadersBuilder<?> notFound()
public static ResponseEntity.BodyBuilder unprocessableEntity()