springboot 参数校验(实体类配置实用版)

1.导入坐标依赖pom.xml

 <!--实体类参数校验-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <!-- javax.validation -->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>com.springsource.javax.validation</artifactId>
            <version>1.0.0.GA</version>
        </dependency>

以下是一些常用的注解及其用法:

  1. @Null:表示该字段可以为null。

  2. @NotNull:表示该字段不能为null。

  3. @NotEmpty:表示该字段不能为空。适用于集合、Map、数组等类型。

  4. @NotBlank:表示该字段不能为空或仅包含空白字符。适用于字符串类型。

  5. @Size:表示该字段的大小必须在指定的范围内。适用于集合、Map、数组和字符串等类型。

  6. @Min@Max:表示该字段的值必须在指定的范围内。适用于数值类型。

  7. @DecimalMin@DecimalMax:表示该字段的值必须在指定的范围内。适用于BigDecimal类型。

  8. @Past:表示该字段的值必须在当前日期之前。适用于日期类型。

  9. @Future@FutureOrPresent:表示该字段的值必须在当前日期之后或等于当前日期。适用于日期类型。

  10. @Pattern:表示该字段的值必须匹配指定的正则表达式。适用于字符串类型。

  11. @Email:表示该字段的值必须是有效的电子邮件地址。适用于字符串类型。

  12. @URL:表示该字段的值必须是有效的URL地址。适用于字符串类型。

2.实体类配置(案例)

public class Entry{

    @NotNull(message = "用户id不能为空")
    @NotBlank(message = "用户id不能为空")
    private String userId;//用户id
    
     @NotNull(message = "身份证号不能为空")
     @NotBlank(message = "身份证号不能为空")
     @Size(min = 15, max = 35, message = "身份证号类型错误")
     private String sdCard;//身份证号
    

}
import javax.validation.constraints.*;

@Data
public class User {

    @NotNull(message = "用户名不能为空")
    @Size(min = 1, max = 20, message = "用户名长度必须在1到20个字符之间")
    private String username;

    @NotNull(message = "密码不能为空")
    @Size(min = 6, max = 20, message = "密码长度必须在6到20个字符之间")
    private String password;

    @Past(message = "出生日期必须在当前日期之前")
    private Date birthday;

    @Email(message = "电子邮件地址无效")
    private String email;

   
}

3.EntryController

@PostMapping("/addEntry")
public Result addVideo(@Valid @RequestBody Entry entry, BindingResult bindingResult){
    Result result = new Result();
    if (bindingResult.hasErrors()) {
        result.setCode(400);
        result.setMsg(bindingResult.getFieldError().getDefaultMessage());
        return result;
    }
    return entryService.addEntry(entry);
}

4.测试

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值