发表于: 2019-11-15 23:31:59

1 1265


今天完成的事情:

遇到一个BUG,前端非要传一个属性值给我,我用不上,但他说不传不好做,我能怎么办。那我就做个判断,传给我了就把他设置为空咯。

他传的是一个数值0,我接收的是一个Integer包装类。一开始这么写

if(studyObject.getCourse()==0){
   studyObject.setCourse(null);
}

嗯,呵,还是太年轻了。

报错了,空指针。。。。。

然后拿组员的一个类里的数值类型的属性去做同样的判断,却是没问题的。


后来才发现他们的是基本类型的。我的是包装类型的。我没值就是null,get不了。

最后用了

if(new Integer(0).equals(studyObject.getCourse())){
   studyObject.setCourse(null);
}

用了equals。这下就没事了,对了,我把这个事告诉组员后,他们说能不能把这个包装类转成基本类型,嗯,,,不行,因为这个属性,有时候是null值。。null值是不能转成基本类型的。


还有一个比较重要的地方,算是规范吧。


先说结论:如果一个接口是查询,那就干查询的事。不要在查询接口做其他操作,比如修改和新增之类的。

起因

用户登入后,要返回对应其年级的课程。但是用户第一次要去选择自己所在的年级。

然后,就要有几个操作,判断用户是否有年级信息,没有就弹窗让用户设置,这里是修改用户年级操作,然后再查询对应年级的所有课程。这里有两个接口。

前端说不想调这么多接口,能不能就一个接口解决这些事。反正加个判断。。我感觉不对,但是经验不足,不好反驳。。

最后面师兄们说了,一个接口就做一样事。做的越多越容易出问题!比如在一个查询里,增加修改操作,如果查询成功,修改失败了,那这两个操作就都失败了。更何况逻辑上不好处理。


包括上面那个判断,,本来你前端不要传这个值就是了,非要传,现在弄的我要加这两行代码。还因为没经验出BUG了。。。如果是比较隐蔽的,那不是惨了。!


所以前端处理几件事,就调几次接口。修改就是修改,查询就是查询。


还看了下微信支付,大概流程知道了

先配置,

再把前端传过来的价格等信息用XML格式发给微信,生成预处理订单。再把这个微信返回的信息传给前端让他付款。前端调控件让用户付钱,付好了,微信会把我付款信息发给我。我最后判断订单情况。。

大体是这样的,其他的就不管了。



明天计划的事情:

继续看支付。配合前端调接口,今天出了上面那个BUG,也算是学习到了


遇到的问题:

前端压力大,怕他跑路啊!就他一个人。


收获:



返回列表 返回列表
评论

    分享到