19 条回复  ·  255 次点击
spritecn 初学 2024-10-25 09:12:48
你定义一个字符串参数,前端传"NULL"串,""串,还有"undefind"串都是常有的事
hiveex 该用户已被删除 2024-10-25 09:14:30
提示: 作者被禁止或删除 内容自动屏蔽
DreamingCTW 小成 2024-10-25 09:18:07
没具体看楼主写的内容,单从前后端的 null 判断来说,我不管前端有没有判断 null ,我后端都会判断。因为正常用户会走你的前端页面,非正常用户是直接调用接口的。
249239432 小成 2024-10-25 09:19:25
前端能校验?有人直接走协议提交参数到后端呢?
sadwxds 小成 2024-10-25 09:21:01
一开始我以为是接口对请求参数的非空校验,那这个是很有必要的,避免接受到空值导致后续的业务逻辑出现异常。
但是你图片中的代码,是对数据库返回结果进行非空的过滤,这是我无理解的。

既然是对数据库的查询,那所有的过滤都应该通过 SQL 语句进行,可以利用索引,减少 IO ,分页功能也才准确。

实际开发的时候,因为时间精力的问题,也很难对所有的地方进行非空校验,要不就不会有那么多空指针异常了。
一般情况下,对于服务外输入的值,可以认为是不可信的,做好非空和其他的参数校验。

数据库这种和服务绑定的,可以通过字段属性设置为非空,我是觉得没必要程序里面再加个非空判断。
cheng6563 小成 2024-10-25 09:23:15
产生 Error 都是底层问题,你写的 Java 代码无法处理这种问题,一般出现 Error 是建议直接重启进程。
12
返回顶部