0


@valid注解

@Valid注解的作用

注解@Valid的主要作用是用于数据校验,可以在定义的实体中的属性上,添加不同的注解来完成不同的校验规则,而在接口类中的接受数据参数中添加@Valid注解,这时实体类会开启一个校验的功能。

@Valid相关注解

下面是 @Valid 相关的注解,在实体类中不同的属性上添加不同的注解,就能实现不同数据的效验功能。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CiB0ExJ8-1659595829376)(java/v2-4e07db0edb472307e968dd6779da4c5d_r.jpg)]

实体类中添加@Valid相关注解

使用@Valid相关注解非常简单,只需要在参数的实体类属性上添加如@NotBlank,@Max,@Min等注解对字段进行限制。如下:
User:

publicclassUser{@NotBlank(message ="姓名不为空")privateString username;@NotBlank(message ="密码不为空")privateString password;}

如果嵌套的实体对象,则需要在最外层属性上添加@Valid注解
User:

publicclassUser{@NotBlank(message ="姓名不为空")privateString username;@NotBlank(message ="密码不为空")privateString password;//嵌套必须加@Valid,否则嵌套中的验证不生效@Valid@NotNull(message ="用户信息不能为空")privateUserInfo userInfo;}

UserInfo:

publicclassUser{@NotBlank(message ="年龄不为空")@Max(value =18,message ="不超过18岁")privateString age;@NotBlank(message ="性别不为空")privateString gender;}

接口类中添加@Valid注解

在controller类中添加接口,POST方法中接收设置了@Valid相关注解的实体对象,然后再参数中添加@Valid注解来开启效验功能,需要注意的是,@Valid对Get请求中接收的平面参数请求无效。

@RestControllerpublicclassTestController{@PostMapping("/user")publicStringaddUserInfo(@Valid@RequestBodyUser user){return"调用成功";}}

User user){
return “调用成功”;
}
}

标签: java spring servlet

本文转载自: https://blog.csdn.net/weixin_43400432/article/details/126159450
版权归原作者 从入门到放弃吧 所有, 如有侵权,请联系我们删除。

“@valid注解”的评论:

还没有评论