实体类入参集合的校验

68 阅读1分钟

入参集合的校验

一般当用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…,如有侵权,请联系删除。