Class HandlerMethodValidationException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.springframework.core.NestedRuntimeException
org.springframework.web.ErrorResponseException
org.springframework.web.server.ResponseStatusException
org.springframework.web.method.annotation.HandlerMethodValidationException
- All Implemented Interfaces:
Serializable,org.springframework.validation.method.MethodValidationResult,ErrorResponse
public class HandlerMethodValidationException
extends ResponseStatusException
implements org.springframework.validation.method.MethodValidationResult
ResponseStatusException that is also MethodValidationResult.
Raised by HandlerMethodValidator in case of method validation errors
on a web controller method.
The ErrorResponseException.getStatusCode() is 400 for input validation errors, and 500
for validation errors on a return value.
- Since:
- 6.1
- Author:
- Rossen Stoyanchev
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceContract to handle validation results with callbacks by controller method parameter type, withHandlerMethodValidationException.Visitor.other(org.springframework.validation.method.ParameterValidationResult)serving as the fallthrough.Nested classes/interfaces inherited from interface org.springframework.web.ErrorResponse
ErrorResponse.Builder -
Constructor Summary
ConstructorsConstructorDescriptionHandlerMethodValidationException(org.springframework.validation.method.MethodValidationResult validationResult) HandlerMethodValidationException(org.springframework.validation.method.MethodValidationResult validationResult, Predicate<org.springframework.core.MethodParameter> modelAttribitePredicate, Predicate<org.springframework.core.MethodParameter> requestParamPredicate) -
Method Summary
Modifier and TypeMethodDescriptionList<org.springframework.validation.method.ParameterValidationResult>Object[]Return arguments to use along with amessage codeto resolve the problem "detail" for this exception through aMessageSource.Object[]getDetailMessageArguments(org.springframework.context.MessageSource messageSource, Locale locale) Variant ofErrorResponse.getDetailMessageArguments()that uses the givenMessageSourcefor resolving the message argument values.booleanvoidProvide aVisitorto handleParameterValidationResults through callback methods organized by controller method parameter type.Methods inherited from class org.springframework.web.server.ResponseStatusException
getHeaders, getMessage, getReason, getResponseHeadersMethods inherited from class org.springframework.web.ErrorResponseException
getBody, getDetailMessageCode, getStatusCode, setDetail, setInstance, setTitle, setTypeMethods inherited from class org.springframework.core.NestedRuntimeException
contains, getMostSpecificCause, getRootCauseMethods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.web.ErrorResponse
getTitleMessageCode, getTypeMessageCode, updateAndGetBodyMethods inherited from interface org.springframework.validation.method.MethodValidationResult
getAllErrors, getBeanResults, getValueResults, hasErrors
-
Constructor Details
-
HandlerMethodValidationException
public HandlerMethodValidationException(org.springframework.validation.method.MethodValidationResult validationResult) -
HandlerMethodValidationException
-
-
Method Details
-
getDetailMessageArguments
public Object[] getDetailMessageArguments(org.springframework.context.MessageSource messageSource, Locale locale) 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:
messageSource- 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, e.g. "Invalid content type {0}".- Specified by:
getDetailMessageArgumentsin interfaceErrorResponse- Overrides:
getDetailMessageArgumentsin classErrorResponseException
-
getTarget
- Specified by:
getTargetin interfaceorg.springframework.validation.method.MethodValidationResult
-
getMethod
- Specified by:
getMethodin interfaceorg.springframework.validation.method.MethodValidationResult
-
isForReturnValue
public boolean isForReturnValue()- Specified by:
isForReturnValuein interfaceorg.springframework.validation.method.MethodValidationResult
-
getAllValidationResults
public List<org.springframework.validation.method.ParameterValidationResult> getAllValidationResults()- Specified by:
getAllValidationResultsin interfaceorg.springframework.validation.method.MethodValidationResult
-
visitResults
Provide aVisitorto handleParameterValidationResults through callback methods organized by controller method parameter type.
-