SpringBoot(4)注解@validated的使用

简介

SpringBoot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。

一、使用实例

1.项目结构
在这里插入图片描述
2.User类

import lombok.Data;

import javax.validation.constraints.NotEmpty;

@Data
public class User {
    @NotEmpty(message = "登陆账号不能为空")
    private String accountName;
    @NotEmpty(message = "登陆密码不能为空")
    private String password;
    @NotEmpty(message = "用户姓名不能为空")
    private String userName;
}

3.UserController 类
@Validated注解开启校验

import com.csdn.study.model.User;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

@CrossOrigin
@RequestMapping("/user")
@RestController
public class UserController {

    @PostMapping ("/selectUser")
    public User selectUser(@RequestBody @Validated User user){
        return user;
    }
}

4.Postman测试
在这里插入图片描述
成功
在这里插入图片描述
**失败:**userName为空,没有通过校验,后期我们可以配置统一异常处理捕获 MethodArgumentNotValidException这个异常,通过调用getBindingResult().getFieldError().getDefaultMessage()方法获取我们配置的异常信息,将其反馈给前端

二、 @validated注解说明

空校验针对类型说明
@Nullr任何类型校验对象必须为空
@NotNull校验对象不为空校验对象不为空,不能校验字符串长度为0的对象
@NotBlank字符串只对字符串有效,校验字符串去掉前后空格后长度不为0
@NotEmpty字符串、集合、数组校验对象不能为空 (字符串长度不为0、集合大小不为0)
boolean校验针对类型说明
@AssertTrue布尔校验boolean类型必须为true
@AssertFalse布尔校验boolean类型必须为false
日期校验针对类型说明
@Past日期类型校验必须是一个过去的日期
@Future日期类型校验必须是一个将来的日期
数值校验针对类型说明
@Min数字类型校验必须是一个数字,其值必须大于或等于指定的最小值
@Max数字类型校验必须是一个数字,其值必须小于或等于指定的最大值
@DecimalMin数字类型校验必须是一个数字,其值必须大于或等于指定的最小值
@DecimalMax数字类型校验必须是一个数字,其值必须小于或等于指定的最大值
@Digits(integer=,fraction=)数字类型校验必须是一个数字,interger指定整数精度,fraction指定小数精度
@Range(min =,max = )数字类型、字符串校验对象的值在min和max区间内
@Length(min =,max = )数字类型校验对象的值的长度在min和max区间内
@Size(min =,max = )数字类型校验对象的值在min和max区间内,如字符长度、集合大小
其他校验针对类型说明
@Email字符串校验对象的值必须是Email类型,也可以通过regexp和flag指定自定义的email格式
@Pattern字符串校验对象的值必须符合指定的正则表达式
@CreditCardNumber数字类型、字符串校验对象的值必须是信用卡类型
@URL字符串校验对象的值必须是URL地址
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值