前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大量if else判断如何优化?@Valib详解

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

作者头像
用户9919783
发布2022-07-26 11:32:03
3730
发布2022-07-26 11:32:03
举报
文章被收录于专栏:后端从入门到精通

1、业务场景

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后端从入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档