Browse Source

Always use MethodArgumentNotValidException(MethodParameter, BindingResult) constructor

gh-23846 introduced a new
MethodArgumentNotValidException(Executable, BindingResult)
constructor that can be advantageously replaced by using
MethodArgumentNotValidException(MethodParameter, BindingResult)
in ModelAttributeMethodProcessor.

This commit updates ModelAttributeMethodProcessor accordingly,
and deprecates MethodArgumentNotValidException(Executable,
BindingResult) in favor of
MethodArgumentNotValidException(MethodParameter, BindingResult).

Closes gh-30558
pull/30619/head
Sébastien Deleuze 3 years ago
parent
commit
2cbc7eed73
  1. 2
      spring-web/src/main/java/org/springframework/web/bind/MethodArgumentNotValidException.java
  2. 2
      spring-web/src/main/java/org/springframework/web/method/annotation/ModelAttributeMethodProcessor.java

2
spring-web/src/main/java/org/springframework/web/bind/MethodArgumentNotValidException.java

@ -75,7 +75,9 @@ public class MethodArgumentNotValidException extends BindException implements Er @@ -75,7 +75,9 @@ public class MethodArgumentNotValidException extends BindException implements Er
* @param executable the executable that failed validation
* @param bindingResult the results of the validation
* @since 6.0.5
* @deprecated in favor of {@link #MethodArgumentNotValidException(MethodParameter, BindingResult)}
*/
@Deprecated(since = "6.0.10", forRemoval = true)
public MethodArgumentNotValidException(Executable executable, BindingResult bindingResult) {
super(bindingResult);
this.parameter = null;

2
spring-web/src/main/java/org/springframework/web/method/annotation/ModelAttributeMethodProcessor.java

@ -341,7 +341,7 @@ public class ModelAttributeMethodProcessor implements HandlerMethodArgumentResol @@ -341,7 +341,7 @@ public class ModelAttributeMethodProcessor implements HandlerMethodArgumentResol
BindingResult result = binder.getBindingResult();
ObjectError error = new ObjectError(ctor.getName(), cause.getMessage());
result.addError(error);
throw new MethodArgumentNotValidException(ctor, result);
throw new MethodArgumentNotValidException(parameter, result);
}
else {
throw ex;

Loading…
Cancel
Save