Spring boot基于@Valid和@Validated验证List集合

一、场景

        在项目研发时,经常会遇到接口是需要接收一个List变量,但是又不想单独去对List参数去进行校验,此时可以使用@Validated注解@Valid注解 解决此类问题

二、使用方法

1.在Controller上添加@Validated注解

2.在方法上添加@Valid注解

 三、实体类

@Data
public class User {

    @Length(max = 10)
    @NotBlank(message = "用户姓名不能为空")
    private String name;

    @ApiModelProperty("手机号")
    @Length(min = 1, max = 12)
    @NotBlank(message = "手机号码不能为空")
    @Pattern(regexp = "^1(3\\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$",message = "手机号码格式不正确")
    private String mobile;

    @ApiModelProperty("身份证号")
    @NotBlank(message = "身份证号不能为空")
    private String idCard;
}

四、执行结果

        

@Valid和@Validated注解在Spring Boot中用于验证输入数据,但它们有一些区别。 @Valid注解是JSR-303规范中定义的注解,用于验证Java Bean中的属性。在Spring Boot中,@Valid注解可以用于验证请求体中的数据。如果请求体中的数据是一个Java Bean对象,可以使用@Valid注解来验证该对象的属性值是否符合要求。\[1\] @Validated注解是Spring框架中的一个注解,它是JSR-303规范的扩展。@Validated注解可以用于在方法级别上校验方法参数。它可以用于验证请求参数和请求体中的数据。@Validated注解可以用于方法级别和类级别上,用于验证方法参数和类属性。\[4\] 在类级别上使用@Validated注解,需要在类上添加该注解。这样可以对整个类的方法参数进行验证。\[3\] 在方法级别上使用@Validated注解,需要在方法参数上添加该注解。这样可以对特定方法的参数进行验证。\[5\] 总结来说,@Valid注解用于验证Java Bean中的属性,而@Validated注解用于在方法级别上校验方法参数。@Validated注解是@Valid注解的扩展,可以用于验证请求参数和请求体中的数据。\[2\]\[4\] #### 引用[.reference_title] - *1* *2* *3* *4* *5* [Spring Boot中的@Validated和@Valid](https://blog.csdn.net/jam_yin/article/details/131207998)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值