type
status
date
slug
summary
tags
category
icon
 

📝 参数校验的使用

步骤一:导入依赖

步骤一中,要想使用@NotBlank,hibernate-validator依赖需要6.0以上,validation-api是2.0以上

步骤二:加注解

类型一:字段——-直接注解@NotBlank
类型二:请求体——-@Validated注解, 字段上加需要的注解,例如

注意:和@RequestParam一起使用时会先执行@RequestParam的报错,例如缺失字段会报MissingServletRequestParameterException,而不是自定义异常

步骤三:全局异常处理

注解区分

@NotNull:
(Integer,String Long,double等等)
不能为 null,但可以为 empty,一般用在 Integer 类型的基本数据类型的非空校验上,而且被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制

@NoyBlank:

(String)
只能作用在接收的 String 类型上,注意是只能,不能为 null,而且调用 trim() 后,长度必须大于 0即:必须有实际字符

@NotEmpty:

(String、Collection集合、Map、数组等等)
不能为 null,且长度必须大于 0,一般用在集合类上或者数组上
 

注:和@RequestParam一起使用时,如果参数直接没有,会报MissingServletRequestParameterException,而不会报constraintViolationException异常

📎 参考文章

 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
BeanUtils.copyProperties线程,进程