我是做移动端的,后端经常会返回null,但是这个null对前端很不友好,容易造成崩溃,这个问题跟后端讨论多次,感觉他们也不好处理。
我想知道为什么后台会返回null?而不是直接返回对应数据类型的默认值,比如 Int 对应 0,String 对应 ""。
我以前写sqlite的时候发现字段的默认值就是null,难道这就是后台返回null的原因?
这个null到底该哪端处理?还是两端都做处理?
还有就是,如果后台返回null,前端崩溃了,这个锅到底哪个背?
我是做移动端的,后端经常会返回null,但是这个null对前端很不友好,容易造成崩溃,这个问题跟后端讨论多次,感觉他们也不好处理。
我想知道为什么后台会返回null?而不是直接返回对应数据类型的默认值,比如 Int 对应 0,String 对应 ""。
我以前写sqlite的时候发现字段的默认值就是null,难道这就是后台返回null的原因?
这个null到底该哪端处理?还是两端都做处理?
还有就是,如果后台返回null,前端崩溃了,这个锅到底哪个背?
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
8 回答6.5k 阅读
2 回答4.3k 阅读✓ 已解决
4 回答4.2k 阅读
3 回答1.9k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
这个问题我认为需要后端处理,因为
mysql
查询无数据会出现null
的情况,所以需要后端处理null
为''(空字符)
、{}(空对象)
、[](空数组)
、0(数据0)
等等。当然了,前端也是需要做数据异常处理的。比如你在赋值的时候可以这么写。这样对大家都好。