浅谈判空注解(@NotNull与@NotBlank)
⭐简单说两句⭐
个人主页:后端小知识
🔎GZH:
后端小知识
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
好的亲爱的各位朋友们大家好啊,今天我们来浅谈一下判空注解吧(@NotBlank和 @NotNull),
文章目录
- 浅谈判空注解(@NotNull与@NotBlank)
- 1.背景
- 2.环境搭建
- 3.没有添加校验注解的情况
- 4.添加校验注解
- 5.小总结
1.背景
我们在编写后端接口的时候,往往会遇到这样的问题,某个属性不能为空,某个属性不允许为空,但能为空串等各种校验,我们虽然可以自己写if去判断,但似乎显得些许的麻烦,于是我们今天就来演练一下判空注解的使用
对于想看看整体流程的同学,可以跟着文章一步一步看,有基础的或者心急的小伙伴可以直接翻到小总结那里看额🤩
2.环境搭建
基础环境我已经搭建好了,我把目录放出来,各位看官一看便知
win环境下,tree /F
├─src
│ ├─main
│ │ ├─java
│ │ │ └─cn
│ │ │ └─blog
│ │ │ │ BlogValidDemoApplication.java
│ │ │ │
│ │ │ ├─controller
│ │ │ │ ValidController.java
│ │ │ │
│ │ │ └─entity
│ │ │ SaveUserParam.java
│ │ │
│ │ └─resources
│ │ application.properties
│ │ application.yml
3.没有添加校验注解的情况
我们先放下代码
SaveUserParam.java
import lombok.Data;
/**
* @Author tiancx
* @create 2023/2/14
*/
@Data
public class SaveUserParam {
/**
* 用户姓名 不能为空
*/
private String userName;
/**
* 性别 0:男 1:女 不能为空
*/
private Integer sex;
/**
* 工号 不能为空
*/
private Integer workNum;
/**
* 描述 不能为空,但允许为空串
*/
private String desc;
}
ValidController.java
import cn.blog.entity.SaveUserParam;
import org.springframework.web.bind.annotation.*;
/**
* @Author tiancx
* @create 2023/2/14
*/
@RestController
@RequestMapping("valid/v1")
public class ValidController {
@PostMapping("user")
public String saveUser(@RequestBody SaveUserParam saveUserParam){
/**
* 省略插入数据的逻辑处理,主要是学习如何使用@NotNull,@NotBank注解
*/
return "保存成功";
}
}
我们通过ApiFox调用接口测试
我们会发现这种情况下,接口是能够正常返回的
4.添加校验注解
我们添加注解
记得在Controller层的方法参数前加上@Valid注解
我们再次请求时,就会发现报错了,原因就是不能传空
我们现在传一个合法的参数
可以发现是请求成功的,恭喜完成😁
5.小总结
@NotNull 用在基本数据类型上(Integer,Long等),表示传的值不能为空,也可以用在String类型上,表示可以传空串(本例子中有用到额,你发现了么ლ(′◉❥◉`ლ))
@NotBlank 用在String上,表示穿的值不能为空,空串也不行
=😍😍😍=
哈哈哈,看了是不是感觉可以直接拿下了😎
这些小技巧在工作中合理用到的话(尤其是以前不知道的老板),还担心工作完不成吗?效率倍儿提升🥰
今天2月14号,刚好也是情人节,早早写完代码回去😍,哈哈哈
大家在情人节这一天有没有什么活动呢,欢迎在评论区展示(让我羡慕羡慕😭)
结语
谢谢你的阅读
,由于作者水平有限,难免有不足之处,若读者发现问题,还请批评,在留言区留言或者私信告知,我一定会尽快修改的。若各位大佬有什么好的解法,或者有意义的解法都可以在评论区展示额,万分谢谢。
写作不易,望各位老板点点赞,加个关注!😘😘😘