Class ServletRequestBindingException
java.lang.Object
java.lang.Throwable
java.lang.Exception
jakarta.servlet.ServletException
org.springframework.web.bind.ServletRequestBindingException
- All Implemented Interfaces:
Serializable, ErrorResponse
- Direct Known Subclasses:
MissingRequestValueException, UnsatisfiedServletRequestParameterException
public class ServletRequestBindingException
extends jakarta.servlet.ServletException
implements ErrorResponse
Fatal binding exception, thrown when we want to
treat binding exceptions as unrecoverable.
Extends ServletException for convenient throwing in any Servlet resource (such as a Filter), and NestedServletException for proper root cause handling (as the plain ServletException doesn't expose its root cause at all).
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface ErrorResponse
ErrorResponse.Builder, ErrorResponse.Interceptor -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor with a message only.protectedServletRequestBindingException(@Nullable String msg, @Nullable String messageDetailCode, Object @Nullable [] messageDetailArguments) Constructor for ServletRequestBindingException.ServletRequestBindingException(@Nullable String msg, @Nullable Throwable cause) Constructor with a message and a cause.protectedServletRequestBindingException(@Nullable String msg, @Nullable Throwable cause, @Nullable String messageDetailCode, Object @Nullable [] messageDetailArguments) Constructor for ServletRequestBindingException. -
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 HTTP status code to use for the response.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, getTitleMessageCode, getTypeMessageCode, updateAndGetBody
-
Constructor Details
-
ServletRequestBindingException
-
ServletRequestBindingException
-
ServletRequestBindingException
protected ServletRequestBindingException(@Nullable String msg, @Nullable String messageDetailCode, Object @Nullable [] messageDetailArguments) Constructor for ServletRequestBindingException.- Parameters:
msg- the detail messagemessageDetailCode- 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
-
ServletRequestBindingException
protected ServletRequestBindingException(@Nullable String msg, @Nullable Throwable cause, @Nullable String messageDetailCode, Object @Nullable [] messageDetailArguments) Constructor for ServletRequestBindingException.- Parameters:
msg- the detail messagecause- the root causemessageDetailCode- 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
-
getStatusCode
Description copied from interface:ErrorResponseReturn the HTTP status code to use for the response.- Specified by:
getStatusCodein interfaceErrorResponse
-
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
-