springboot参数校验统一异常处理

1、当接受请求是需要对参数进行校验,首先我们接受json格式的参数,下面以用户注册功能为例:
springboot参数校验统一异常处理
如果我们没有统一异常处理,则对不同方法的参数都需要处理
springboot参数校验统一异常处理
通过测试,查看日志及返回值我们知道,当参数错误时,会抛出如下异常:
springboot参数校验统一异常处理
所以我们统一异常处理就应该指定对该异常进行处理,首先我们定义的异常类要加上@ControllerAdvice注解,然后编写具体的异常处理方法,在该方法上添加@ExceptionHandler(MethodArgumentNotValidException.class)注解,这样该异常就会被当前方法所捕获,在该方法内部就可以编写该异常发生后对于的处理代码
springboot参数校验统一异常处理
当参数错误的统一异常处理编写完成,就可以删除控制器中单独的参数校验了
springboot参数校验统一异常处理
我们再次进行测试,当我们不传参数时,就不会再报MethodArgumentNotValidException异常了,就已经 按照我们异常处理方法中的方式进行返回了。
springboot参数校验统一异常处理