赞
踩
环境
springboot 2.4.1
validation 效验post or get 方式表单方式提交转对象,效验出错,不进 MethodArgumentNotValidException or ConstraintViolationException 异常处理。进全局异常处理
异常
- org.springframework.validation.BeanPropertyBindingResult: 1 errors
- Field error in object 'testBean' on field 'uid': rejected value [1]; codes [Null.testBean.uid,Null.uid,Null.java.lang.Integer,Null]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [testBean.uid,uid]; arguments []; default message [uid]]; default message [自增ID,不能指定]
bean
- @Data
- public class TestBean {
- @ApiModelProperty("自增id")
- @Null(message = "自增ID,不能指定")
- private Integer uid;
-
- @ApiModelProperty("名称")
- @NotBlank
- private String username;
- @ApiModelProperty("地址")
- @NotBlank(message = "地址不能为空")
- private String address;
- }
Controller
- //不管是get还是post 一样
- @PostMapping("/insert3")
- public R insert3(@Valid TestBean testBean ) {
- return success(testBean.toString());
- }
方法一 org.springframework.validation.BindException
- @ExceptionHandler(BindException.class)
- public R handleValidation(BindException e) {
- System.out.println("BindException");
- for (ObjectError error : e.getBindingResult().getAllErrors()) {
- return R.failed(error.getDefaultMessage());
- }
- return R.failed("请求参数有误");
- }
方法二
- //方法中加入BindingResult ,效验错误进入ConstraintViolationException
- @PostMapping("/insert3")
- public R insert3(@Valid TestBean testBean , BindingResult bindingResult) {
- return success(testBean.toString());
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。