诉说辛酸史
今天安排到写一个请求第三方接口的功能,使用RestTemplate:
小子拿到接口文档,话不多少直接上复制粘贴大法,一顿操作猛如虎啊,拼接请求体JSON格式完事,然后run application,点击发送。
哦豁!!!请求成功了,但是请求结果不是预想的结果。。。。。。
心想是不是对接接口服务有问题,于是Postman,又一顿操作,点击Send,不仅请求成功了,结果跟预想的也一样。。。。。。
然后开始了查找bug的艰难之路,JSON格式对了又对、参数对了又对;发现都没问题,开始饶头。最后把请求参数打印出来,在一一对着文档,终于让我发现问题;
有个参数值出现了问题:
复制的时候是:“08710XXXXXXX”
存在数据库中编程了 : “8710XXXXXXX”
少了最前面的 0 对应的数据类型 number
进入正题
问题:存到数据库中的数据,值变了,缺少了。
原因:number数据类型,不能存0开头的数据,会帮你删了开头的0。
解决办法:
1、修改数据类型为varchar,如原来已经有数据会报错,采用方法2
2、新增varchar字段,更新为number字段的值,删除原来number字段;