Package org.springframework.web.bind
Class MethodArgumentNotValidException
java.lang.Object
java.lang.Throwable
java.lang.Exception
org.springframework.validation.BindException
org.springframework.web.bind.MethodArgumentNotValidException
- All Implemented Interfaces:
Serializable
,org.springframework.validation.BindingResult
,org.springframework.validation.Errors
,ErrorResponse
public class MethodArgumentNotValidException
extends org.springframework.validation.BindException
implements ErrorResponse
Exception to be thrown when validation on an argument annotated with
@Valid
fails.
Extends BindException
as of 5.3.- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Juergen Hoeller
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.web.ErrorResponse
ErrorResponse.Builder
-
Field Summary
Fields inherited from interface org.springframework.validation.BindingResult
MODEL_KEY_PREFIX
Fields inherited from interface org.springframework.validation.Errors
NESTED_PATH_SEPARATOR
-
Constructor Summary
ConstructorsConstructorDescriptionMethodArgumentNotValidException
(org.springframework.core.MethodParameter parameter, org.springframework.validation.BindingResult bindingResult) Constructor forMethodArgumentNotValidException
. -
Method Summary
Modifier and TypeMethodDescriptionerrorsToStringList
(List<? extends org.springframework.validation.ObjectError> errors) Convert each givenObjectError
to a String in single quotes, taking either the error's default message, or its error code.errorsToStringList
(List<? extends org.springframework.validation.ObjectError> errors, org.springframework.context.MessageSource source, Locale locale) Variant oferrorsToStringList(List)
that uses aMessageSource
to resolve the message code of the error, or fall back on the error's default message.getBody()
Return the body for the response, formatted as an RFC 7807ProblemDetail
whosestatus
should match the response status.Object[]
Return arguments to use along with amessage code
to resolve the problem "detail" for this exception through aMessageSource
.Object[]
getDetailMessageArguments
(org.springframework.context.MessageSource messageSource, Locale locale) Variant ofErrorResponse.getDetailMessageArguments()
that uses the givenMessageSource
for resolving the message argument values.final org.springframework.core.MethodParameter
Return the method parameter that failed validation.Return the HTTP status code to use for the response.Methods inherited from class org.springframework.validation.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, setNestedPath
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, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.web.ErrorResponse
getDetailMessageCode, getHeaders, getTitleMessageCode, updateAndGetBody
-
Constructor Details
-
MethodArgumentNotValidException
public MethodArgumentNotValidException(org.springframework.core.MethodParameter parameter, org.springframework.validation.BindingResult bindingResult) Constructor forMethodArgumentNotValidException
.- Parameters:
parameter
- the parameter that failed validationbindingResult
- the results of the validation
-
-
Method Details
-
getStatusCode
Description copied from interface:ErrorResponse
Return the HTTP status code to use for the response.- Specified by:
getStatusCode
in interfaceErrorResponse
-
getBody
Description copied from interface:ErrorResponse
Return the body for the response, formatted as an RFC 7807ProblemDetail
whosestatus
should match the response status.- Specified by:
getBody
in interfaceErrorResponse
-
getParameter
public final org.springframework.core.MethodParameter getParameter()Return the method parameter that failed validation. -
getMessage
- Overrides:
getMessage
in classorg.springframework.validation.BindException
-
getDetailMessageArguments
Description copied from interface:ErrorResponse
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}".- Specified by:
getDetailMessageArguments
in interfaceErrorResponse
-
getDetailMessageArguments
public Object[] getDetailMessageArguments(org.springframework.context.MessageSource messageSource, Locale locale) Description copied from interface:ErrorResponse
Variant ofErrorResponse.getDetailMessageArguments()
that uses the givenMessageSource
for resolving the message argument values. This is useful for example to message codes from validation errors.- Specified by:
getDetailMessageArguments
in interfaceErrorResponse
-
errorsToStringList
public static List<String> errorsToStringList(List<? extends org.springframework.validation.ObjectError> errors) Convert each givenObjectError
to a String in single quotes, taking either the error's default message, or its error code.- Since:
- 6.0
-
errorsToStringList
public static List<String> errorsToStringList(List<? extends org.springframework.validation.ObjectError> errors, org.springframework.context.MessageSource source, Locale locale) Variant oferrorsToStringList(List)
that uses aMessageSource
to resolve the message code of the error, or fall back on the error's default message.- Since:
- 6.0
-