Package org.springframework.web.server
Class ResponseStatusException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.springframework.core.NestedRuntimeException
org.springframework.web.ErrorResponseException
org.springframework.web.server.ResponseStatusException
- All Implemented Interfaces:
Serializable
,ErrorResponse
- Direct Known Subclasses:
HandlerMethodValidationException
,MethodNotAllowedException
,NoResourceFoundException
,NotAcceptableStatusException
,PayloadTooLargeException
,ServerErrorException
,ServerWebInputException
,UnsupportedMediaTypeStatusException
Subclass of
ErrorResponseException
that accepts a "reason", and by
default maps that to the "detail"
of the ProblemDetail
.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.web.ErrorResponse
ErrorResponse.Builder, ErrorResponse.Interceptor
-
Constructor Summary
ModifierConstructorDescriptionResponseStatusException
(int rawStatusCode, String reason, Throwable cause) Constructor with a response status and a reason to add to the exception message as explanation, as well as a nested exception.Constructor with a response status.ResponseStatusException
(HttpStatusCode status, String reason) Constructor with a response status and a reason to add to the exception message as explanation.ResponseStatusException
(HttpStatusCode status, String reason, Throwable cause) Constructor with a response status and a reason to add to the exception message as explanation, as well as a nested exception.protected
ResponseStatusException
(HttpStatusCode status, String reason, Throwable cause, String messageDetailCode, Object[] messageDetailArguments) Constructor with a message code and arguments for resolving the error "detail" viaMessageSource
. -
Method Summary
Modifier and TypeMethodDescriptionReturn headers to add to the error response, e.g.The reason explaining the exception (potentiallynull
or empty).Deprecated.updateAndGetBody
(MessageSource messageSource, Locale locale) Use the givenMessageSource
to resolve thetype
,title
, anddetail
message codes, and then use the resolved values to update the corresponding fields inErrorResponse.getBody()
.Methods inherited from class org.springframework.web.ErrorResponseException
getBody, getDetailMessageArguments, getDetailMessageCode, getStatusCode, setDetail, setInstance, setTitle, setType
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
getDetailMessageArguments, getTitleMessageCode, getTypeMessageCode
-
Constructor Details
-
ResponseStatusException
Constructor with a response status.- Parameters:
status
- the HTTP status (required)
-
ResponseStatusException
Constructor with a response status and a reason to add to the exception message as explanation.- Parameters:
status
- the HTTP status (required)reason
- the associated reason (optional)
-
ResponseStatusException
public ResponseStatusException(int rawStatusCode, @Nullable String reason, @Nullable Throwable cause) Constructor with a response status and a reason to add to the exception message as explanation, as well as a nested exception.- Parameters:
rawStatusCode
- the HTTP status code valuereason
- the associated reason (optional)cause
- a nested exception (optional)- Since:
- 5.3
-
ResponseStatusException
public ResponseStatusException(HttpStatusCode status, @Nullable String reason, @Nullable Throwable cause) Constructor with a response status and a reason to add to the exception message as explanation, as well as a nested exception.- Parameters:
status
- the HTTP status (required)reason
- the associated reason (optional)cause
- a nested exception (optional)
-
ResponseStatusException
protected ResponseStatusException(HttpStatusCode status, @Nullable String reason, @Nullable Throwable cause, @Nullable String messageDetailCode, @Nullable Object[] messageDetailArguments) Constructor with a message code and arguments for resolving the error "detail" viaMessageSource
.- Parameters:
status
- the HTTP status (required)reason
- the associated reason (optional)cause
- a nested exception (optional)- Since:
- 6.0
-
-
Method Details
-
getReason
The reason explaining the exception (potentiallynull
or empty). -
getHeaders
Return headers to add to the error response, e.g. "Allow", "Accept", etc.By default, delegates to
getResponseHeaders()
for backwards compatibility.- Specified by:
getHeaders
in interfaceErrorResponse
- Overrides:
getHeaders
in classErrorResponseException
-
getResponseHeaders
Deprecated.as of 6.0 in favor ofgetHeaders()
Return headers associated with the exception that should be added to the error response, e.g. "Allow", "Accept", etc.The default implementation in this class returns empty headers.
- Since:
- 5.1.13
-
updateAndGetBody
Description copied from interface:ErrorResponse
Use the givenMessageSource
to resolve thetype
,title
, anddetail
message codes, and then use the resolved values to update the corresponding fields inErrorResponse.getBody()
.- Parameters:
messageSource
- theMessageSource
to use for the lookuplocale
- theLocale
to use for the lookup
-
getMessage
- Overrides:
getMessage
in classErrorResponseException
-
getHeaders()