版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35657874/article/details/90240729
controller:
@RequestMapping("/save")
public R save(@RequestBody SysUserEntity user){
ValidatorUtils.validateEntity(user, AddGroup.class);
…
}
ValidatorUtils:
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
public class ValidatorUtils {
private static Validator validator;
static {
validator = Validation.buildDefaultValidatorFactory().getValidator();
}
public static void validateEntity(Object object, Class>... groups)
throws RRException {
Set> constraintViolations = validator.validate(object, groups);
if (!constraintViolations.isEmpty()) {
ConstraintViolation constraint = (ConstraintViolation)constraintViolations.iterator().next();
throw new RRException(constraint.getMessage());
}
}
}
SysUserEntity:
@Data
@TableName(“sys_user”)
public class SysUserEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
private Long userId;
@NotBlank(message="用户名不能为空", groups = {AddGroup.class, UpdateGroup.class})
private String username;
@NotBlank(message="密码不能为空", groups = AddGroup.class)
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;
private String salt;
@NotBlank(message="邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class})
@Email(message="邮箱格式不正确", groups = {AddGroup.class, UpdateGroup.class})
private String email;
private String mobile;
private Integer status;
@TableField(exist=false)
private List roleIdList;
private Date createTime;
@NotNull(message="部门不能为空", groups = {AddGroup.class, UpdateGroup.class})
private Long deptId;
@TableField(exist=false)
private String deptName;
}
注:@Data为lombok注解
@TableName @TableId @TableField为mybatis-plus注解
@NotNull非空校验,groups分组
ValidatorUtils.validateEntity(user, AddGroup.class);
表示当前校验groups为AddGroup的字段