【发布时间】:2021-11-12 20:44:03
【问题描述】:
我正在使用 javax 验证 api 验证字段(用户)。
用户:
@Data
public class User {
public String name;
@Min(18)
public int age;
public User(String nameString, int age) {
super();
this.nameString = nameString;
this.age = age;
}
Controller类中的Handler方法:
@RestController
public class ControllerMain {
@PostMapping("userdata")
//Here is BindingResult !!
public void validdata(@Valid @RequestBody User user,BindingResult bindingResult) {
}
}
用于异常处理的ControllerAdvice 类
@ControllerAdvice
public class ExceptionHandlingController {
@ExceptionHandler({MethodArgumentNotValidException.class, HttpMessageNotReadableException.class})
public void invalidinput() {
//This should be printed on console but its not.Kindly help!
System.out.println("Invalid Input!");
}
}
如果我从控制器类中的处理程序方法中删除 BindingResult 参数,则控制台上会打印“无效输入”。为什么会这样?
【问题讨论】:
标签: spring spring-boot spring-mvc