分享一个猪队友,都 8012 年了居然还有那么菜的后端可以混迹在互联网公司!

2018-08-15 02:08:00 +08:00
 fansangg
今天快下班的时候,写完一个功能正准备测试,然后调接口的时候发现 token 过期了,然后重新登录。

登录的流程之前走了不下一百遍,没想到居然报错了!查看日志发现是 json 解析报的错,如何我看了一下返回的 json 格式,发现地址列表返回的居然是空字符串

``` address:"" ```

然后我找对接的后台同事说,我说空的话你要返回一个 jsonarray 啊,就是[]。



然后等了 10 几分钟,后台的兄弟和我说改好了。然后我再调了一遍,依然是报错,然后看了一下返回的数据...

address:"[]"

我的天呐,真的是改好了,太优秀了!从业以来遇到过最优秀的同事!看起来也应该有 30 岁了,怎么还会那么菜!他是怎么混过来的!
31732 次点击
所在节点    程序员
319 条回复
zsy979
2018-08-15 14:25:50 +08:00
@mcluyu 也不算 error 吧,就是要有一些默认的数据显示,总之就是前端要求返回规定好的字段,是 null 的话返回空的不能不返回
jeffcott
2018-08-15 14:41:55 +08:00
其实就是经验缺乏,很少写接口的人意识不到这个问题;这种情况还是挺普遍的,包括我自己也踩过这个坑,你跟他说一下就好了啊,他也会感激你的;

现在 PHP7 之后也有标量类型声明和返回类型声明了,这种情况应该很好解决;

随手一搜
[PHP 接口返回 JSON 数据保证正确的类型难(或者麻烦)在哪? - V2EX]( https://tanronggui.xyz/t/421511)
[(3 条消息)PHP 后端很难返回规范的 JSON 数据吗? - 知乎]( https://www.zhihu.com/question/26424910)
chocotan
2018-08-15 14:46:32 +08:00
支持楼主,我也经常遇到奇葩的
比如 content-type 写错的,json 写成这样的 person[name]=Tome,返回的 xml 在两个引号里面的
jeffcott
2018-08-15 14:48:30 +08:00
再补一句,好多东西都是前后端互相帮忙,你多写一点,我就少写一点;但是我觉得最好有标准化的解决方案;
ostholz
2018-08-15 14:49:54 +08:00
这点事也拿到 V2 来吐槽?
xxsjudelaw
2018-08-15 14:51:16 +08:00
等你换的工作多了,呆过的公司多了,合作的人多了。你就明白林子大了什么鸟都有
mhtt
2018-08-15 14:52:10 +08:00
嚓,我们定的规范就是没有数据,返回 null,看了贴主这个,我感觉自己尴尬了😅
leeg810312
2018-08-15 14:55:35 +08:00
这是不是 PHP 特有的,用.net 或 Java 写后端,从没遇到过这样的低级错误
KgM4gLtF0shViDH3
2018-08-15 14:59:55 +08:00
@NullException #97 我们公司的就不会。。想想还是得去大城市大公司,小地方全是水货。
reus
2018-08-15 15:17:30 +08:00
@leeg810312 go 写后端也从来不会出这种错误,类型写了数组,那返回的一定是数组,不可能变成字符串。估计吐槽楼主的都是写 PHP 的。PHP 垃圾!
ayyll
2018-08-15 15:18:55 +08:00
写过一阵子 php 零基础直接干活的那种 额 也犯过这种错误 反正我自身是知识盲点 前端也。。也没骂我 就稍微解释一下就改了 怎么说 看人的脾气吧 当然 他只是明着没骂我。。不过他人很和气 应该不至于像楼主这种开帖骂的 噢 我不是说楼主不对 我觉着骂也挺对的 做错了嘛反正
karllynn
2018-08-15 15:19:30 +08:00
是 null 还是有可能的。。。不一定是空数组
wekw
2018-08-15 15:27:37 +08:00
大家都是程序员,怎么就没有一个人从技术角度来解释问题呢?


原因很简单,后端是 PHP 语言,如果不人为处理,默认就是这个样子,前端如果是 Android,会崩的。


你让他专门处理一下就行了,三行代码的事儿。

---
Athrob
2018-08-15 15:30:29 +08:00
这楼的回复真是辣眼睛, 这么低级的错误还都喷楼主? 什么风气, 我是后端都看不下去了.
wekw
2018-08-15 15:35:27 +08:00
@ZSeptember 这就是技术限制了你的想象力了,我们作为程序员,我们被雇佣的目的不是生产完美代码,而是解决实际问题。喜欢技术解决问题的能力就强?解决问题才是创造价值,才能换钱。实际上在现实中沟通能力比技术能力重要多了。
fansangg
2018-08-15 15:37:16 +08:00
@Athrob 我才注册的账号,之前也是不知道贵社区什么水平,本来只是因为同事犯的一个小小错误耽误了我挺长时间而来稍稍吐槽一下,没想到会有那么多回复,而且还让人大跌眼镜。
laoyur
2018-08-15 15:41:33 +08:00
@dearpork
> 这算好了 我司运维说拉代码报错了 截图一看用的是 git pull

不懂
bolide2005
2018-08-15 15:52:38 +08:00
关键倒还不在于规不规范,关键在于不合逻辑啊

这样的需求,正常后端不是去查数据,然后往一个 list 里 append 数据吗?最后无论 list 是不是为空都直接返回就好了啊。按楼主的描述,后端这哥们难不成还专门判断一下 list 是不是为空,是的话返回个字符串?这操作我看不懂
zhuangzhuang1988
2018-08-15 15:55:59 +08:00
打一顿就好了
不光 程序员 vs 产品
还有 程序员 vs 程序员
ihavecat
2018-08-15 15:57:22 +08:00
笑出声,前几天我同事刚遇到这样的测试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/479858

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX