Package org.springframework.web
Class ErrorResponseException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.springframework.core.NestedRuntimeException
org.springframework.web.ErrorResponseException
- All Implemented Interfaces:
Serializable
,ErrorResponse
- Direct Known Subclasses:
ResponseStatusException
RuntimeException
that implements ErrorResponse
to expose
an HTTP status, response headers, and a body formatted as an RFC 7808
ProblemDetail
.
The exception can be used as is, or it can be extended as a more specific
exception that populates the type
or
detail
fields, or potentially adds
other non-standard fields.
- Since:
- 6.0
- Author:
- Rossen Stoyanchev
- See Also:
-
Constructor Summary
ConstructorDescriptionErrorResponseException
(int status, Throwable cause) Constructor that accepts any status value, possibly not resolvable as anHttpStatus
enum, and an optional cause.ErrorResponseException
(int status, ProblemDetail body, Throwable cause) Constructor with a givenProblemDetail
instance, possibly a subclass ofProblemDetail
with extended fields.ErrorResponseException
(HttpStatus status) Constructor with a well-knownHttpStatus
.ErrorResponseException
(HttpStatus status, Throwable cause) Constructor with a well-knownHttpStatus
and an optional cause. -
Method Summary
Modifier and TypeMethodDescriptionfinal ProblemDetail
getBody()
Return the body for the response.Return headers to use for the response.Return the detail message, including the message from the nested exception if there is one.int
Return the HTTP status value for the response, potentially non-standard and not resolvable viaHttpStatus
.void
Set thedetail
field of the response body.void
setInstance
(URI instance) Set theinstance
field of the response body.void
Set thetitle
field of the response body.void
Set thetype
field of the response body.Methods inherited from class org.springframework.core.NestedRuntimeException
contains, getMostSpecificCause, getRootCause
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.web.ErrorResponse
getStatus
-
Constructor Details
-
ErrorResponseException
Constructor with a well-knownHttpStatus
. -
ErrorResponseException
Constructor with a well-knownHttpStatus
and an optional cause. -
ErrorResponseException
Constructor that accepts any status value, possibly not resolvable as anHttpStatus
enum, and an optional cause. -
ErrorResponseException
Constructor with a givenProblemDetail
instance, possibly a subclass ofProblemDetail
with extended fields.
-
-
Method Details
-
getRawStatusCode
public int getRawStatusCode()Description copied from interface:ErrorResponse
Return the HTTP status value for the response, potentially non-standard and not resolvable viaHttpStatus
.- Specified by:
getRawStatusCode
in interfaceErrorResponse
-
getHeaders
Description copied from interface:ErrorResponse
Return headers to use for the response.- Specified by:
getHeaders
in interfaceErrorResponse
-
setType
Set thetype
field of the response body.- Parameters:
type
- the problem type
-
setTitle
Set thetitle
field of the response body.- Parameters:
title
- the problem title
-
setDetail
Set thedetail
field of the response body.- Parameters:
detail
- the problem detail
-
setInstance
Set theinstance
field of the response body.- Parameters:
instance
- the problem instance
-
getBody
Return the body for the response. To customize the body content, use:By default, the status field of
ProblemDetail
is initialized from the status provided to the constructor, which in turn may also initialize the title field from the status reason phrase, if the status is well-known. The instance field, if not set, is initialized from the request path when aProblemDetail
is returned from an@ExceptionHandler
method.- Specified by:
getBody
in interfaceErrorResponse
-
getMessage
Description copied from class:NestedRuntimeException
Return the detail message, including the message from the nested exception if there is one.- Overrides:
getMessage
in classNestedRuntimeException
-