大量if else判断如何优化?@Valib详解

简介: 大量if else判断如何优化?@Valib详解

1、业务场景



@RequestMapping("/insert")
    public String insert(Student student){
        if(Objects.equals(student.getName(),"")){
            return "姓名不能为空";
        }
        if(null == student.getAge()){
            return "年龄不能为空";
        }
        return "success";
    }

 

 如图所示,当前端访问接口时,现在要求参数不能为空,那我们只能这样写两个if判断是否为null。若name访问为空时候,则会如图返回

image.png

目前现在只有两个字段,若有大量的字段需要判断则如何呢,写大量的if?当一个接口里无效业务代码量过多,设计是有问题的,而且作为一个优秀的程序员,这不是我们想看到的结果。


如何解决呢?答案是@Valid注解


image.png

从代码里可以看到,首先接收的bean对象需要用@valid注解验证,之后需要注意的是,bean里面


数字类型用@NotNull注解,字符串类型用@NotBlank注解,集合类型用的是@NotEmpty判断是否存在。他们判断长度的注解也不同,分别是@Length,@Range,@Size。


注意:这里完成之后,此刻【并不会】返回前端并且提示什么字段为空,还需要在接口加BindingResult参数,接收异常数据,返回空字段给前端。

相关文章
|
3天前
|
存储 算法 数据管理
C++中利用随机策略优化二叉树操作效率的实现方法
C++中利用随机策略优化二叉树操作效率的实现方法
78 1
|
6月前
|
缓存 索引
这 11 个 for 循环优化你得会
这 11 个 for 循环优化你得会
|
9月前
|
Web App开发 测试技术
优化循环的方法-循环展开
优化循环的方法-循环展开
60 0
|
9月前
|
机器学习/深度学习 算法 计算机视觉
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
72 0
|
9月前
判断两棵树是否完全一致
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
87 0
|
11月前
|
编解码 Ubuntu 算法
怎么判断一个视频是否正常 - 学习使用 ffprobe
经常有运营反馈视频上传到系统之后,变短了,原版视频200分钟,上传上来之后,只有40分钟了。这个时候可以使用 ffprobe 来检查
341 0
怎么判断一个视频是否正常 - 学习使用 ffprobe
|
数据采集 机器学习/深度学习 运维
异常值检测!最佳统计方法实践(代码实现)!⛵
数据集中的异常值,对于数据分布、建模等都有影响。本文讲解两大类异常值的检测方法及其Python实现:可视化方法(箱线图&直方图)、统计方法(z分数&四分位距)。
862 2
异常值检测!最佳统计方法实践(代码实现)!⛵
|
算法
分析复杂度来判断算法效率
算法复杂度用于分析算法运行所需计算机资源的量,需要的时间资源为时间复杂度,需要的空间资源为空间复杂度。 在判断一个算法的优劣时,可以抛开软件和硬件因素,只考虑问题的规模。编写程序前预先估计算法优劣,可以改进并选择更高效的算法。
123 0
分析复杂度来判断算法效率
Kam
枚举优化if-else if -else过程记录
枚举优化if-else if -else过程记录
Kam
176 0
|
SEO
如何判断一个网站的整体优化情况?
在做关键词优化和整站优化的时候,我们首先要针对SEO关于关键词竞争程度分析,分析竞争对手主要是要查看竞争对手的实力,换句话说,我们就是要看对方网站的优化情况,看看对方的优化情况是不是良好,能不能通过自己更好的优化自己超过他们。 我们究竟该如何最快的判断一个网站的整体质量呢?其实也不难,如果用本文<span style="color: rgba(38, 38, 38, 1)"><a rel="dofollow" href="https://www.fgba.net/" title="富贵论坛"><span style="color: rgba(38, 38, 38, 1)">富贵论坛</spa
127 0