[bug坑]前后端接口对接可能会踩的坑--持续更新

我们有一个项目是使用微信小程序+springboot开发,在一个接口对接的时候,需要两个参数param1 和param2.不能同时为空。

问题是,单独传其中一个时,都有返回值。

postman调取接口都显示正常。

但是,两个参数同时放到程序中就没有返回值。

 

原因:使用查看日志法和排除法,日志上显示 api/test&param1=null&param2=1234 .仔细观察后发现是前端将抽象意义的<null>直接写为字符串“null”。post传值中表示该参数无值的正确写法应该是param1=&param2=1234.

自己没有做好的地方:

因为没有仔细考虑入参的每种情况,加上偷懒,在后端入口将字符不能同时为空和字段类型正则校验放到一个if()校验中。伪代码:if(param1.isWrongType() && param2.isWrongType() ) {throws error},这就造成了只有两个校验都出错了,才会报错。自己写了那么多的校验,写出这种没脑子的代码,也是够了。但也付出了三个小时的个人时间去debug。想想都觉得好嗨啊。

给后来人的爱听不听的建议:

1病从口入,自己要有参数校验的习惯。不管前端小姐姐说她的接口写得有多splendid....

2看日志。就像跑步机买了就要用一样。日志打了你不看,有病啊。。。。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值