最近在公司开发也是遇到了一个要进行大量属性判空的问题,大家首先想到的肯定是isblank对每个属性值进行判空,有一个为空就返回false,但是组长说那样写不够优雅,不让我那样用,我们也可以看到下图,一个一个判空会显得代码很臃肿!
![](https://i-blog.csdnimg.cn/blog_migrate/b33ec22759a4f34b1fb11ff56d366fd8.png)
但是用了反射以后可以看到代码只有几行了!
下面就说说我利用反射机制是如何提升代码优雅度的!
首先我们自定义一个注解,把这个注解放到对应的实体类上不能为空的属性字段上。
以这个手机号为例,大家需要几个就加几个
这些注解就相当于一个标记,是接下来要用的,所以我这里直接写了个flag标记的意思。接下来就是我们的反射工具类了,这个才是重点。图上有很详细的注释,大家可以参考,写完这些以后我们就可以优雅的写代码了,只需要几行代码就可以解决一堆判空的问题。使用起来也很方便,只需要调这个接口,传一个对象进去就可以了。而我们刚才的自定义注解在这里就起到作用了。
最后我们进行postman测试就得到我们想要的结果了!我测试的时候故意少给了一个name属性值,信息不完整就告诉我们了!
希望这篇博客可以帮到各位小伙伴!