Class HttpMediaTypeException
java.lang.Object
java.lang.Throwable
java.lang.Exception
jakarta.servlet.ServletException
org.springframework.web.HttpMediaTypeException
- All Implemented Interfaces:
Serializable, ErrorResponse
- Direct Known Subclasses:
HttpMediaTypeNotAcceptableException, HttpMediaTypeNotSupportedException
public abstract class HttpMediaTypeException
extends jakarta.servlet.ServletException
implements ErrorResponse
Abstract base for exceptions related to media types. Adds a list of supported
MediaTypes.- Since:
- 3.0
- Author:
- Arjen Poutsma
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface ErrorResponse
ErrorResponse.Builder, ErrorResponse.Interceptor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetBody()Return the body for the response, formatted as an RFC 9457ProblemDetailwhosestatusshould match the response status.Return arguments to use along with amessage codeto resolve the problem "detail" for this exception through aMessageSource.Return a code to use to resolve the problem "detail" for this exception through aMessageSource.Return the list of supported media types.Methods inherited from class jakarta.servlet.ServletException
getRootCauseMethods inherited from class Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ErrorResponse
getDetailMessageArguments, getHeaders, getStatusCode, getTitleMessageCode, getTypeMessageCode, updateAndGetBody
-
Constructor Details
-
HttpMediaTypeException
protected HttpMediaTypeException(@Nullable String message, List<MediaType> supportedMediaTypes, @Nullable String messageDetailCode, Object @Nullable [] messageDetailArguments) Create a new HttpMediaTypeException with a list of supported media types.- Parameters:
supportedMediaTypes- the list of supported media typesmessageDetailCode- the code to use to resolve the problem "detail" through aMessageSourcemessageDetailArguments- the arguments to make available when resolving the problem "detail" through aMessageSource- Since:
- 6.0
-
-
Method Details
-
getSupportedMediaTypes
-
getBody
Description copied from interface:ErrorResponseReturn the body for the response, formatted as an RFC 9457ProblemDetailwhosestatusshould match the response status.Note: The returned
ProblemDetailmay be updated before the response is rendered, for example, viaErrorResponse.updateAndGetBody(MessageSource, Locale). Therefore, implementing methods should use an instance field, and should not re-create theProblemDetailon every call, nor use a static variable.- Specified by:
getBodyin interfaceErrorResponse
-
getDetailMessageCode
Description copied from interface:ErrorResponseReturn a code to use to resolve the problem "detail" for this exception through aMessageSource.By default this is initialized via
ErrorResponse.getDefaultDetailMessageCode(Class, String).- Specified by:
getDetailMessageCodein interfaceErrorResponse
-
getDetailMessageArguments
Description copied from interface:ErrorResponseReturn arguments to use along with amessage codeto resolve the problem "detail" for this exception through aMessageSource. The arguments are expanded into placeholders of the message value, for example, "Invalid content type {0}".- Specified by:
getDetailMessageArgumentsin interfaceErrorResponse
-