入参集合的校验
一般当用spring的时候,入参校验一般会选择validation框架;然后正常的校验如
常见非空,然后当入参为集合的时候,我们不仅要校验入参的集合是否为空,还要校验集合中的每一个item;如果
item为一个实体类,那么实体类中的每一个属性也要校验;
例如
``
@Data
public class AddUserDto {
@NotEmpty
@Valid
private List<PhoneInfo> phoneList;
@Data
public static class PhoneInfo {
@NotBlank
@Pattern(regexp = "^1(3|4|5|6|7|8|9)\\d{9}$",message = "手机号格式不正确")
private String phone;
@NotBlank
private String name;
}
}
``
此时,在控制器中,接参数,并加上注解 @Validated例如 控制器
@PostMapping("/add_user_phone") public Result addUserPhone(@RequestBody @Validated AddUserDto addUserDto) { BeanHelper.beanAttributeValueTrim(addUserDto); return Result.success(upmsUserService.addUserPhone(addUserDto)); }
这样的时候,当实体类中不加入 @valid的时候
@NotEmpty private List<PhoneInfo> phoneList;
此时,只会校验集合是否为空,而集合中的属性不会校验,所以为了校验属性,我们要在集合的上面加入一个注解@valid
当写成文章开始的时候的AddUserDto ,那么此时,就会校验集合,同时也会校验集合中的属性
本文转自 jimolvxing.blog.csdn.net/article/det…,如有侵权,请联系删除。