Spring使用@Validated注解进行参数的校验

在之前项目中参数的校验,都是自己写的判断方法进行校验,这种方式需要编写大量的参数校验代码,这次采用了spring提供的注解进行参数的校验,更为的方便,简洁。
@Valid:常见用在方法,类中字段上进行校验
@Validated:是spring提供的对@Valid的封装,常见用在方法上进行校验,可以算是@Valid的一个升级版
在这里插入图片描述
1.业务场景
使用spring框架的代码,在Controller层的新增、修改接口中,往往是直接接收一个@ResponseBody解析的对象,接收之后需要进行一个对象参数的校验,防止service层出现异常而影响最终的数据库存储等功能。这里就可以使用@Validated注解对参数对象进行校验。使用时也要创建一个全局异常处理已拦截抛出的异常信息。这里还有一个重要的内容就是@Validated的分组功能,在新增和修改是,由于需要传递的参数不一样,一次在接收对象中需要进行区分。具体应用如下:
Controller层
在这里插入图片描述在这里插入图片描述
上面第一个是新增的接口,第二个是修改的接口,在新增的接口中使用@Validated使用了{Insert.class},意思是使用StocksPrice对象中Insert.class分组的参数验证。在修改接口中使用的是update.class,意思就是使用StocksPrice对象中Update.class分组的参数验证。
StocksPrice对象在这里插入图片描述
Update.class和Insert.class是自己定义的两个接口
在这里插入图片描述
在这里插入图片描述
全局异常处理器@RestControllerAdvice在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Wangdiankun/article/details/115184187
今日推荐