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:
  • Constructor Details

    • MethodArgumentNotValidException

      public MethodArgumentNotValidException(org.springframework.core.MethodParameter parameter, org.springframework.validation.BindingResult bindingResult)
      Parameters:
      parameter - the parameter that failed validation
      bindingResult - the results of the validation
  • Method Details

    • getStatusCode

      public HttpStatusCode getStatusCode()
      Description copied from interface: ErrorResponse
      Return the HTTP status code to use for the response.
      Specified by:
      getStatusCode in interface ErrorResponse
    • getBody

      public ProblemDetail getBody()
      Description copied from interface: ErrorResponse
      Return the body for the response, formatted as an RFC 7807 ProblemDetail whose status should match the response status.
      Specified by:
      getBody in interface ErrorResponse
    • getParameter

      public final org.springframework.core.MethodParameter getParameter()
      Return the method parameter that failed validation.
    • getMessage

      public String getMessage()
      Overrides:
      getMessage in class org.springframework.validation.BindException
    • getDetailMessageArguments

      public Object[] getDetailMessageArguments()
      Description copied from interface: ErrorResponse
      Return arguments to use along with a message code to resolve the problem "detail" for this exception through a MessageSource. The arguments are expanded into placeholders of the message value, e.g. "Invalid content type {0}".
      Specified by:
      getDetailMessageArguments in interface ErrorResponse
    • getDetailMessageArguments

      public Object[] getDetailMessageArguments(org.springframework.context.MessageSource messageSource, Locale locale)
      Description copied from interface: ErrorResponse
      Variant of ErrorResponse.getDetailMessageArguments() that uses the given MessageSource for resolving the message argument values. This is useful for example to message codes from validation errors.
      Specified by:
      getDetailMessageArguments in interface ErrorResponse
    • errorsToStringList

      public static List<String> errorsToStringList(List<? extends org.springframework.validation.ObjectError> errors)
      Convert each given ObjectError 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 of errorsToStringList(List) that uses a MessageSource to resolve the message code of the error, or fall back on the error's default message.
      Since:
      6.0