@NotNull注解放在实体类或者Controller层不生效解决方案

问题

在日常开发过程中,我们会写一些注解于加在java的实体类属性字段上,或者放到controller层的方法参数中,在进请求或请求的时候会根据字段的注解进对应的校验,简化校验相关的代码。
当校验不通过时,会返回对应的message描述

例1:注解写在Controller层的接口参数中
在这里插入图片描述

例2:注解写在实体中
在这里插入图片描述

当这些注解不生效时,解决方案如下:

1、当@NotNull等注解写在实体类中时,需要在Controller接口的方法参数加入@Valid注解,如下图所示:
在这里插入图片描述

2、当@NotNull等注解写在Controller层的接口参数中时,需要在该方法的Controller类上添加@Validated,如下图所示:
在这里插入图片描述

除@NotNull之外的其他校验相关的注解

//被注释的元素必须为null
@Null  
//被注释的元素不能为null
@NotNull  
//被注释的元素必须为true
@AssertTrue  
//被注释的元素必须为false
@AssertFalse  
//被注释的元素必须是?个数字,其值必须?于等于指定的最?值
@Min(value)  
//被注释的元素必须是?个数字,其值必须?于等于指定的最?值
@Max(value)  
//被注释的元素必须是?个数字,其值必须?于等于指定的最?值
@DecimalMin(value)  
//被注释的元素必须是?个数字,其值必须?于等于指定的最?值
@DecimalMax(value)  
//被注释的元素的??必须在指定的范围内。
@Size(max,min) 
//被注释的元素必须是?个数字,其值必须在可接受的范围内
@Digits(integer,fraction) 
//被注释的元素必须是?个过去的?期
@Past  
//被注释的元素必须是?个将来的?期
@Future  
//被注释的元素必须符合指定的正则表达式。
@Pattern(value) 
//被注释的元素必须是电?邮件地址
@Email 
//被注释的字符串的??必须在指定的范围内
@Length 
//被注释的字符串必须?空
@NotEmpty  
//被注释的元素必须在合适的范围内
@Range
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值