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,MethodValidationResult,ErrorResponse
public class HandlerMethodValidationException
extends ResponseStatusException
implements 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(MethodValidationResult validationResult) HandlerMethodValidationException(MethodValidationResult validationResult, Predicate<MethodParameter> modelAttributePredicate, Predicate<MethodParameter> requestParamPredicate) -
Method Summary
Modifier and TypeMethodDescriptionReturn all validation results.Object[]Return arguments to use along with amessage codeto resolve the problem "detail" for this exception through aMessageSource.Object[]getDetailMessageArguments(MessageSource messageSource, Locale locale) Variant ofErrorResponse.getDetailMessageArguments()that uses the givenMessageSourcefor resolving the message argument values.Return the method to which validation was applied.Return the target of the method invocation to which validation was applied.booleanWhether the violations are for a return value.voidProvide aVisitorto handleParameterValidationResults through callback methods organized by controller method parameter type.Methods inherited from class org.springframework.web.server.ResponseStatusException
getHeaders, getMessage, getReason, getResponseHeaders, updateAndGetBodyMethods 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, getTypeMessageCodeMethods inherited from interface org.springframework.validation.method.MethodValidationResult
getAllErrors, getBeanResults, getValueResults, hasErrors
-
Constructor Details
-
HandlerMethodValidationException
-
HandlerMethodValidationException
public HandlerMethodValidationException(MethodValidationResult validationResult, Predicate<MethodParameter> modelAttributePredicate, Predicate<MethodParameter> requestParamPredicate)
-
-
Method Details
-
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:
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
Description copied from interface:MethodValidationResultReturn the target of the method invocation to which validation was applied.- Specified by:
getTargetin interfaceMethodValidationResult
-
getMethod
Description copied from interface:MethodValidationResultReturn the method to which validation was applied.- Specified by:
getMethodin interfaceMethodValidationResult
-
isForReturnValue
public boolean isForReturnValue()Description copied from interface:MethodValidationResultWhether the violations are for a return value. If true the violations are from validating a return value. If false the violations are from validating method arguments.- Specified by:
isForReturnValuein interfaceMethodValidationResult
-
getAllValidationResults
Description copied from interface:MethodValidationResultReturn all validation results. This includes both method parameters with errors directly on them, and Object method parameters with nested errors on their fields and properties.- Specified by:
getAllValidationResultsin interfaceMethodValidationResult- See Also:
-
visitResults
Provide aVisitorto handleParameterValidationResults through callback methods organized by controller method parameter type.
-