Class MethodArgumentNotValidException
java.lang.Object
java.lang.Throwable
java.lang.Exception
org.springframework.validation.BindException
org.springframework.web.bind.MethodArgumentNotValidException
- All Implemented Interfaces:
Serializable, BindingResult, Errors, ErrorResponse
BindException to be thrown when validation on an argument annotated
with @Valid fails.- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface ErrorResponse
ErrorResponse.Builder, ErrorResponse.Interceptor -
Field Summary
Fields inherited from interface BindingResult
MODEL_KEY_PREFIXFields inherited from interface Errors
NESTED_PATH_SEPARATOR -
Constructor Summary
ConstructorsConstructorDescriptionMethodArgumentNotValidException(MethodParameter parameter, BindingResult bindingResult) Constructor forMethodArgumentNotValidException. -
Method Summary
Modifier and TypeMethodDescriptiongetBody()Return the body for the response, formatted as an RFC 9457ProblemDetailwhosestatusshould match the response status.Object[]Return arguments to use along with amessage codeto resolve the problem "detail" for this exception through aMessageSource.Object[]getDetailMessageArguments(MessageSource source, Locale locale) Variant ofErrorResponse.getDetailMessageArguments()that uses the givenMessageSourcefor resolving the message argument values.Returns diagnostic information about the errors held in this object.final MethodParameterReturn the method parameter that failed validation.Return the HTTP status code to use for the response.Methods inherited from class BindException
addAllErrors, addError, equals, findEditor, getAllErrors, getBindingResult, getErrorCount, getFieldError, getFieldError, getFieldErrorCount, getFieldErrorCount, getFieldErrors, getFieldErrors, getFieldType, getFieldValue, getGlobalError, getGlobalErrorCount, getGlobalErrors, getModel, getNestedPath, getObjectName, getPropertyEditorRegistry, getRawFieldValue, getSuppressedFields, getTarget, hasErrors, hasFieldErrors, hasFieldErrors, hasGlobalErrors, hashCode, popNestedPath, pushNestedPath, recordFieldValue, recordSuppressedField, reject, reject, reject, rejectValue, rejectValue, rejectValue, resolveMessageCodes, resolveMessageCodes, setNestedPathMethods inherited from class Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringMethods inherited from interface ErrorResponse
getDetailMessageCode, getHeaders, getTitleMessageCode, getTypeMessageCode, updateAndGetBodyMethods inherited from interface Errors
failOnError, toString
-
Constructor Details
-
MethodArgumentNotValidException
Constructor forMethodArgumentNotValidException.- Parameters:
parameter- the parameter that failed validationbindingResult- the results of the validation
-
-
Method Details
-
getParameter
Return the method parameter that failed validation. -
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
-
getDetailMessageArguments
Description copied from interface:ErrorResponseVariant ofErrorResponse.getDetailMessageArguments()that uses the givenMessageSourcefor resolving the message argument values.This is useful for example to expand message codes from validation errors.
The default implementation delegates to
ErrorResponse.getDetailMessageArguments(), ignoring the suppliedMessageSourceandLocale.- Specified by:
getDetailMessageArgumentsin interfaceErrorResponse- Parameters:
source- theMessageSourceto use for the lookuplocale- theLocaleto use for the lookup
-
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
-
getMessage
Description copied from class:BindExceptionReturns diagnostic information about the errors held in this object.- Overrides:
getMessagein classBindException
-