当前位置:   article > 正文

org.springframework.validation.BeanPropertyBindingResult

org.springframework.validation.beanpropertybindingresult

环境

springboot 2.4.1

validation 效验post or get 方式表单方式提交转对象,效验出错,不进   MethodArgumentNotValidException    or    ConstraintViolationException   异常处理。进全局异常处理

异常

  1. org.springframework.validation.BeanPropertyBindingResult: 1 errors
  2. 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

  1. @Data
  2. public class TestBean {
  3. @ApiModelProperty("自增id")
  4. @Null(message = "自增ID,不能指定")
  5. private Integer uid;
  6. @ApiModelProperty("名称")
  7. @NotBlank
  8. private String username;
  9. @ApiModelProperty("地址")
  10. @NotBlank(message = "地址不能为空")
  11. private String address;
  12. }

 

Controller 

  1. //不管是get还是post 一样
  2. @PostMapping("/insert3")
  3. public R insert3(@Valid TestBean testBean ) {
  4. return success(testBean.toString());
  5. }

 

 

解决方法

方法一  org.springframework.validation.BindException

  1. @ExceptionHandler(BindException.class)
  2. public R handleValidation(BindException e) {
  3. System.out.println("BindException");
  4. for (ObjectError error : e.getBindingResult().getAllErrors()) {
  5. return R.failed(error.getDefaultMessage());
  6. }
  7. return R.failed("请求参数有误");
  8. }

 

方法二

  1. //方法中加入BindingResult ,效验错误进入ConstraintViolationException
  2. @PostMapping("/insert3")
  3. public R insert3(@Valid TestBean testBean , BindingResult bindingResult) {
  4. return success(testBean.toString());
  5. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/849883
推荐阅读
相关标签
  

闽ICP备14008679号