Class HandlerMethodValidator
java.lang.Object
org.springframework.web.method.annotation.HandlerMethodValidator
- All Implemented Interfaces:
 MethodValidator
MethodValidator that
 uses Bean Validation to validate @RequestMapping method arguments.
 Handles validation results by populating BindingResult method
 arguments with errors from beanResults. Also, helps to determine parameter names for
 @ModelAttribute and @RequestBody parameters.
- Since:
 - 6.1
 - Author:
 - Rossen Stoyanchev
 
- 
Method Summary
Modifier and TypeMethodDescriptionvoidapplyArgumentValidation(Object target, Method method, MethodParameter[] parameters, Object[] arguments, Class<?>[] groups) Delegate toMethodValidator.validateArguments(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter[], java.lang.Object[], java.lang.Class<?>[])and handle the validation result, by default raisingMethodValidationExceptionin case of errors.voidapplyReturnValueValidation(Object target, Method method, MethodParameter returnType, Object returnValue, Class<?>[] groups) Delegate toMethodValidator.validateReturnValue(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter, java.lang.Object, java.lang.Class<?>[])and handle the validation result, by default raisingMethodValidationExceptionin case of errors.Class<?>[]determineValidationGroups(Object target, Method method) Determine the applicable validation groups.static MethodValidatorfrom(WebBindingInitializer initializer, ParameterNameDiscoverer paramNameDiscoverer, Predicate<MethodParameter> modelAttributePredicate, Predicate<MethodParameter> requestParamPredicate) Static factory method to create aHandlerMethodValidatorwhen Bean Validation is enabled for use viaConfigurableWebBindingInitializer, for example in Spring MVC or WebFlux config.validateArguments(Object target, Method method, MethodParameter[] parameters, Object[] arguments, Class<?>[] groups) Validate the given method arguments and return validation results.validateReturnValue(Object target, Method method, MethodParameter returnType, Object returnValue, Class<?>[] groups) Validate the given return value and return validation results. 
- 
Method Details
- 
determineValidationGroups
Description copied from interface:MethodValidatorDetermine the applicable validation groups. By default, obtained from an@Validatedannotation on the method, or on the class level.- Specified by:
 determineValidationGroupsin interfaceMethodValidator- Parameters:
 target- the target Objectmethod- the target method- Returns:
 - the applicable validation groups as a 
Classarray 
 - 
applyArgumentValidation
public void applyArgumentValidation(Object target, Method method, @Nullable MethodParameter[] parameters, Object[] arguments, Class<?>[] groups) Description copied from interface:MethodValidatorDelegate toMethodValidator.validateArguments(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter[], java.lang.Object[], java.lang.Class<?>[])and handle the validation result, by default raisingMethodValidationExceptionin case of errors. Implementations may provide alternative handling, e.g. injectingErrorsinto the method.- Specified by:
 applyArgumentValidationin interfaceMethodValidator
 - 
validateArguments
public MethodValidationResult validateArguments(Object target, Method method, @Nullable MethodParameter[] parameters, Object[] arguments, Class<?>[] groups) Description copied from interface:MethodValidatorValidate the given method arguments and return validation results.- Specified by:
 validateArgumentsin interfaceMethodValidator- Parameters:
 target- the target Objectmethod- the target methodparameters- the parameters, if already created and availablearguments- the candidate argument values to validategroups- validation groups fromMethodValidator.determineValidationGroups(java.lang.Object, java.lang.reflect.Method)- Returns:
 - the result of validation
 
 - 
applyReturnValueValidation
public void applyReturnValueValidation(Object target, Method method, @Nullable MethodParameter returnType, @Nullable Object returnValue, Class<?>[] groups) Description copied from interface:MethodValidatorDelegate toMethodValidator.validateReturnValue(java.lang.Object, java.lang.reflect.Method, org.springframework.core.MethodParameter, java.lang.Object, java.lang.Class<?>[])and handle the validation result, by default raisingMethodValidationExceptionin case of errors. Implementations may provide alternative handling.- Specified by:
 applyReturnValueValidationin interfaceMethodValidator
 - 
validateReturnValue
public MethodValidationResult validateReturnValue(Object target, Method method, @Nullable MethodParameter returnType, @Nullable Object returnValue, Class<?>[] groups) Description copied from interface:MethodValidatorValidate the given return value and return validation results.- Specified by:
 validateReturnValuein interfaceMethodValidator- Parameters:
 target- the target Objectmethod- the target methodreturnType- the return parameter, if already created and availablereturnValue- the return value to validategroups- validation groups fromMethodValidator.determineValidationGroups(java.lang.Object, java.lang.reflect.Method)- Returns:
 - the result of validation
 
 - 
from
@Nullable public static MethodValidator from(@Nullable WebBindingInitializer initializer, @Nullable ParameterNameDiscoverer paramNameDiscoverer, Predicate<MethodParameter> modelAttributePredicate, Predicate<MethodParameter> requestParamPredicate) Static factory method to create aHandlerMethodValidatorwhen Bean Validation is enabled for use viaConfigurableWebBindingInitializer, for example in Spring MVC or WebFlux config. 
 -