记一次找bug的过程(boolean 与 Boolean)

   公司网络下有多个服务模块,我所负责的模块A需要向工程师甲的接口请求并接收数据。从工程师甲手里拿到的接口文档示例如下:


(这是返回的字段列表)

字段名类型
isAuthboolean
filedBboolean

    按照国际惯例,我在本地下写了接收json的bean。如下:

public class Test{

    private boolean isAuth;

    private boolean fieldB;

    (get set 方法略)

}    

因为本来我就只是为了避免前端页面出现跨域问题,所以做了中间工作的转发,也就是B服务器返回什么我就直接返回给前端,代码写好后,模拟测试一遍,觉着网络没问题我就发布到测试环境里去。

前端在测试的时候,觉着数据不对,前端拿到的是:{"isAuth":false,"fieldB":true},isAuth应该是true,可是从我后台拿到的isAuth却是false。当时我的第一反应就是甲服务器的数据问题,和我无关,把问题抛给甲后,甲根据服务器日志告诉我返回的是:{"isAuth":true,"fieldB":true}。当时就有点不明白什么原因,莫非灵异事件?仔细校对文档,每个字段都是正确的,clean一下,结果仍是fasle,饭店到了后,仍未解决问题。。。

2点上班后,甲问我找到原因了吗?

我说:没有找到,怀疑是isAuth是boolean型,可能字段名有误,isAuth默认成了false,考虑灵异事件,准备删掉原来的bean,重新搞一个。

甲:isAuth的类型是Boolean,如果isAuth是小写的boolean的话,在转换过程中会找不到,会默认为false,所以当时代码里就写成了Boolean,以对象的方式。(ps:至于文档,我猜测是甲在写文档的那段时间,因为忙,也没有注意到,就直接写成了boolean。)

    最终,代码修改为  private Boolean isAuth;  问题就解决了。这次找bug,也让我想起了基础课的时候,老师说的boolean类型的变量,都不要字段名前带is,如果一定要带,那就改为Boolean类型。

ps:感兴趣转换过程中为什么会找不到的话,可以百度搜索:boolean is    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值