浅谈判空注解(@NotNull与@NotBlank)

Posted 后端小知识

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈判空注解(@NotNull与@NotBlank)相关的知识,希望对你有一定的参考价值。

浅谈判空注解(@NotNull与@NotBlank)

简单说两句

CSDN个人主页:后端小知识

🔎GZH后端小知识

🎉欢迎关注🔎点赞👍收藏⭐️留言📝

好的亲爱的各位朋友们大家好啊,今天我们来浅谈一下判空注解吧(@NotBlank@NotNull),

文章目录

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号,刚好也是情人节,早早写完代码回去😍,哈哈哈

大家在情人节这一天有没有什么活动呢,欢迎在评论区展示(让我羡慕羡慕😭)

结语

谢谢你的阅读,由于作者水平有限,难免有不足之处,若读者发现问题,还请批评,在留言区留言或者私信告知,我一定会尽快修改的。若各位大佬有什么好的解法,或者有意义的解法都可以在评论区展示额,万分谢谢。
写作不易,望各位老板点点赞,加个关注!😘😘😘

💬

CSDN个人主页:后端小知识

🔎GZH后端小知识

🎉欢迎关注🔎点赞👍收藏⭐️留言📝

以上是关于浅谈判空注解(@NotNull与@NotBlank)的主要内容,如果未能解决你的问题,请参考以下文章

@NotBlank @NotNull @@NotEmpty注解配置未生效

Java 校验注解@NotNull,@NotBlank,@Max,@Valid等注解简单使用

@Validated注解无效,以及嵌套对象属性的@NotBlank无效问题

弱校验之@NotNull@NotEmpty@NotBlank

@NotBlank、@NotNull、@NotEmpty、@NonNull四者之间的区别

javax.validation - BindingResult