Package org.springframework.web
Interface ErrorResponse
- All Known Implementing Classes:
AsyncRequestTimeoutException
,ErrorResponseException
,HttpMediaTypeException
,HttpMediaTypeNotAcceptableException
,HttpMediaTypeNotSupportedException
,HttpRequestMethodNotSupportedException
,MethodArgumentNotValidException
,MethodNotAllowedException
,MissingMatrixVariableException
,MissingPathVariableException
,MissingRequestCookieException
,MissingRequestHeaderException
,MissingRequestValueException
,MissingRequestValueException
,MissingServletRequestParameterException
,MissingServletRequestPartException
,NoHandlerFoundException
,NotAcceptableStatusException
,ResponseStatusException
,ServerErrorException
,ServerWebInputException
,ServletRequestBindingException
,UnsatisfiedRequestParameterException
,UnsatisfiedServletRequestParameterException
,UnsupportedMediaTypeStatusException
,WebExchangeBindException
public interface ErrorResponse
Representation of a complete RFC 7807 error response including status,
headers, and an RFC 7808 formatted
ProblemDetail
body. Allows any
exception to expose HTTP error response information.
ErrorResponseException
is a default implementation of this
interface and a convenient base class for other exceptions to use.
ErrorResponse
is supported as a return value from
@ExceptionHandler
methods that render directly to the response, e.g.
by being marked @ResponseBody
, or declared in an
@RestController
or RestControllerAdvice
class.
- Since:
- 6.0
- Author:
- Rossen Stoyanchev
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetBody()
Return the body for the response, formatted as an RFC 7807ProblemDetail
whosestatus
should match the response status.static String
getDefaultDetailMessageCode
(Class<?> exceptionType, String suffix) Build a message code for the given exception type, which consists of"problemDetail."
followed by the fullclass name
.default Object[]
Return arguments to use along with amessage code
to resolve the problem "detail" for this exception through aMessageSource
.default Object[]
getDetailMessageArguments
(MessageSource messageSource, Locale locale) Variant ofgetDetailMessageArguments()
that uses the givenMessageSource
for resolving the message argument values.default String
Return a code to use to resolve the problem "detail" for this exception through aMessageSource
.default HttpHeaders
Return headers to use for the response.Return the HTTP status code to use for the response.
-
Method Details
-
getStatusCode
HttpStatusCode getStatusCode()Return the HTTP status code to use for the response. -
getHeaders
Return headers to use for the response. -
getBody
ProblemDetail getBody()Return the body for the response, formatted as an RFC 7807ProblemDetail
whosestatus
should match the response status. -
getDetailMessageCode
Return a code to use to resolve the problem "detail" for this exception through aMessageSource
.By default this is initialized via
getDefaultDetailMessageCode(Class, String)
. -
getDetailMessageArguments
Return arguments to use along with amessage code
to resolve the problem "detail" for this exception through aMessageSource
. The arguments are expanded into placeholders of the message value, e.g. "Invalid content type {0}". -
getDetailMessageArguments
Variant ofgetDetailMessageArguments()
that uses the givenMessageSource
for resolving the message argument values. This is useful for example to message codes from validation errors. -
getDefaultDetailMessageCode
Build a message code for the given exception type, which consists of"problemDetail."
followed by the fullclass name
.- Parameters:
exceptionType
- the exception type for which to build a codesuffix
- an optional suffix, e.g. for exceptions that may have multiple error message with different arguments.
-