大量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参数,接收异常数据,返回空字段给前端。

相关文章
|
2天前
|
数据处理
重复值的判断标准是否可以根据具体业务需求进行调整?
重复值的判断标准需要紧密结合具体的业务需求进行灵活调整,这样才能确保数据处理的准确性和有效性,为业务决策提供可靠的数据支持。
23 10
|
4天前
|
JavaScript 前端开发 测试技术
如何判断网站加载速度是否得到优化?
如何判断网站加载速度是否得到优化?
|
12天前
|
传感器 存储 索引
如何解决 analogRead()函数读取到的模拟值不准确的问题
在使用analogRead()函数时,若读取到的模拟值不准确,可以通过校准ADC、增加采样次数取平均值、使用外部参考电压或检查电路连接等方式来提高读取精度。
|
1月前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
39 1
|
5月前
|
C语言
循环迭代判断\丢番图
循环迭代判断\丢番图
27 2
|
6月前
|
XML JSON 前端开发
前端代码重复度检测
前端代码重复度检测
148 0
|
缓存 索引
这 11 个 for 循环优化你得会
这 11 个 for 循环优化你得会
|
Web App开发 测试技术
优化循环的方法-循环展开
优化循环的方法-循环展开
94 0
|
机器学习/深度学习 算法 计算机视觉
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
145 0
|
编解码 Ubuntu 算法
怎么判断一个视频是否正常 - 学习使用 ffprobe
经常有运营反馈视频上传到系统之后,变短了,原版视频200分钟,上传上来之后,只有40分钟了。这个时候可以使用 ffprobe 来检查
523 0
怎么判断一个视频是否正常 - 学习使用 ffprobe