接口: https://api.baidu.com/json/sms/service/BulkJobService/getFileStatus
{"isGenerated":2} 突然变成了 {"isGenerated":"2"}
为什么是"又"呢?
之前另一个百度接口
本来返回 {"logid":123456} 某一天突然变成了 {"logid":"123456"}
1
KomeijiSatori 2019-07-26 01:11:53 +08:00
百度网盘的接口也是(
同一个接口同一个字段 一下返回 string 一下返回 int |
2
auser 2019-07-26 02:16:51 +08:00 via iPhone
可能是因为不熟悉 PHP 的人写的吧
|
3
yuzo555 2019-07-26 03:49:31 +08:00
可能是 [直接取缓存] 和 [回源取] 两种情况的代码不一致导致的 bug
|
4
jaskle 2019-07-26 07:07:45 +08:00 via Android
一定是改了接口,翻新了一版,只不过测试环境是 js,用==感觉不到
|
5
okwork 2019-07-26 07:23:43 +08:00 via Android
大厂调整 API 是非常头痛的事情,某厂以前可以默认不传的参数,升级接口后变成了默认不传参数就无效,结果跑了 1 年多正常的业务,静默状态下就搞挂了,好几个月之后看日志才发现怎么数据不一样啦?程序明明没有改过,后来确认才知道 API 升级动过返回逻辑了。
|
6
liuxey 2019-07-26 08:34:03 +08:00 2
这种大范围使用的对公接口涉及到修改需要发公告公示几个月再慢慢替换,对自己的责任毫无敬畏之心
话说这样造成的损失可以申请赔偿吗? |
7
vinsony 2019-07-26 08:41:30 +08:00 1
这和我司 java 后台水平一样~~
|
8
wszgrcy 2019-07-26 08:54:08 +08:00 via Android
@vinsony 哈哈,我上家这也有个 java,明明是 int 的,别人都能搞,后台偏让传 string,然后就那个接口最后传的是 string。。。。其它都是 int
|
9
toma77 2019-07-26 09:19:16 +08:00
之前和 bat 联调业务,这种情况天天遇到,当时是我们对接对方三个团队,那三个团队同时写同一个东西,我们调他们的接口是随机的(调到每个团队接口的概率是 1/3 ),他们会有统计(速度,匹配准确率之类的),最后结束的时候用统计结果最好的那个团队的接口。
不知道你遇到的问题跟这个有没有关系 |
11
ccoming 2019-07-26 09:53:27 +08:00
我不是程序员,就一个小小的数据分析员。
简单搜索了下,也没多少解释“ logid ”的资料。 不过,如果例子中的 123456,不是时间、日期、金额之类能加减,而是会员代码、物流单号、订单号之类,的确应该用字符串型记录比较好。 并不是全部都是阿拉伯数字,就能用数值型保存的。 说个可能被鄙视的例子:淘宝等电商后台上太长的订单号,如果用数值型记录,在 excel 里面会变成科学计数法 2E+10 的形式,后期根本匹配不了,都不知道被我吐槽多久了... |
12
guo8345345 2019-07-26 09:54:47 +08:00
为什么要把之前的 int 改成 String 呢?求解
|
15
ccoming 2019-07-26 10:03:34 +08:00
|
16
pubby OP @ccoming 你想想那些找外包写好程序的,用了几个月因为他们“统一改过来了”造成程序挂了。不得重新又花时间又花钱
而且这样的调整应该是发新版 api,同时全网发通知更新 api。同时老版 api 继续保留较长的过渡时间 |
18
yejinmo 2019-07-26 10:47:57 +08:00
搭车吐槽下百度网盘 PC 版的界面,实在是与百度自身体量不搭
|
19
skiy 2019-07-26 10:52:11 +08:00
后端使用的是非强制类型的语言写的吧?
|
21
lichdkimba 2019-07-26 11:15:59 +08:00 via iPhone
@ccoming 身份证有 X 数值型肯定不行
|