
1 codermagefox 2018-08-15 03:13:32 +08:00 via iPhone 你确定他不是故意这么返回给你的? |
2 meloner 2018-08-15 05:24:32 +08:00 via Android 幼稚, 本质上是个沟通问题, 你需要一些防御性编程的意识, 我也是前端 |
3 ryd994 2018-08-15 06:20:30 +08:00 via Android 你们接口文档不先商量一下吗? |
5 fansangg OP @codermagefox 应该不是,我看着他写的返回了一个空的 array,然后转 json 到我这就是“[]”带引号的 string,他那边是 php 写的,我对 php 不太熟,但是我觉得肯定是要转成 jsonarray 这样 |
7 matsuz 2018-08-15 06:49:01 +08:00 via iPhone 有可能是在某一步被自动转换成了 string,而他没有注意到这个问题 |
8 fanqianger 2018-08-15 06:52:59 +08:00 看不出来这有啥好黑的。你和他沟通一下就好了,在网上发帖起不到任何实质性的作用。 |
9 fansangg OP @fanqianger 我没有在黑什么,我只是在吐槽,因为猪队友的低端错误延误了我的工作进度,沟通什么的发现问题就马上沟通了,但是在我的认知里,这种错误是不应该发生的 |
10 hanxiV2EX 2018-08-15 07:17:55 +08:00 via Android 自己做后端 |
11 hrong 2018-08-15 07:21:03 +08:00 via Android 一点小事就生气, 你也干不了什么大事。 |
12 Quarter 2018-08-15 07:26:11 +08:00 via iPhone 额,我觉得可能只是失误,有的时候很就没有改这部分代码,然后改的时候就忘记代码逻辑,以为是这么改的,没想到改的还不是最终结果,你跟他说写完了先 postman 测试一下对不对,应该也算不上猪队友吧,楼主也别生气了,如果他告诉你只能返回字符串,是改不了数组的,那就比较猪队友了,其实这种错误还是挺常见的,莫生气 |
13 haimall 2018-08-15 07:34:13 +08:00 via Android 在别人身上看到的缺点,都是自己的映射。 |
14 IssacTomatoTan 2018-08-15 07:34:58 +08:00 via Android 后台 MVC 说没有值系统就会返空 不会给你空数组。 各种只会数据库取状态返回参数让前台判断只为了展示给用户 完成 / 未完成 |
15 waruqi 2018-08-15 07:38:21 +08:00 via Android 这种事情多了去了 没必要特地拎出来说。习惯就好。 |
16 meteor957 2018-08-15 07:48:09 +08:00 via Android 大惊小怪 |
17 jiangjz 2018-08-15 07:49:09 +08:00 via Android 我们前端都是自己解决这些问题的 |
18 nosay 2018-08-15 07:55:50 +08:00 via iPhone 身为后端,每次都会在 postman 里测试好,然后发接口文档给相关同事。但还是依然避免不了 ios 那大兄弟 app因类型问题闪退的情况,互相鄙视已属常态,淡定就好 |
19 jorneyr 2018-08-15 08:03:35 +08:00 可能是你们的规范没有规定好什么情况返回什么数据,我们有强制规定。 |
20 lyklykkkkkkk 2018-08-15 08:19:52 +08:00 另一个思路是 反思自己如何沦落到与之为伍 |
21 natscat 2018-08-15 08:21:32 +08:00 不说前面的谁对谁错 改了之后居然返回"[]" 这样写的我是没见过的 |
22 duoglas 2018-08-15 08:22:40 +08:00 遇到这类问题不去推进整体流程规范改进避免后续发生,来这里发个吐槽抖机灵,不怕以后的面试官在这里看到黑历史么? |
23 qilishasha 2018-08-15 08:28:22 +08:00 不是应该返回 null 吗? |
24 hrong 2018-08-15 08:29:40 +08:00 via Android 空数组(数组无元素的特殊情况) 空字符串(字符串无元素的特殊情况) null 上面这些概念要先在项目组里面整明白了,大家也就不会推脱责任骂对方猪队友了吧。。。 |
25 Braid 2018-08-15 08:30:44 +08:00 楼主在这里抛了个很水的一个问题,感觉人就是水的,哈哈哈哈 |
26 tnt666666 2018-08-15 08:32:49 +08:00 天天写前端不烦吗,还 bb 啥,自己技术 low 怪谁 |
27 beastk 2018-08-15 08:33:39 +08:00 via iPhone 你们没有统一的规范,就是 50 步笑一百步,谁也别笑话谁。 |
28 Sharuru 2018-08-15 08:34:13 +08:00 via Android 有些开发在接口返回的时候,图省事都是返回 String 型的。 比如 "id": "10",这种情况下,数组为空返回了 "" 也是常见的情况。(可能后端还纳闷为什么还要特地给你加两个括号呢) 归根结底,还是对于数据的处理没有事先的定义。 |
29 swcat 2018-08-15 08:37:02 +08:00 via Android 这种东西定义该有提前约定的,没有按照约定来,怼回去就可以了 |
30 v3exhost 2018-08-15 08:40:09 +08:00 你们自己不解析空字符串的? 前端这么好干,什么都不用做? |
31 phpcxy 2018-08-15 08:43:30 +08:00 "[]" 是有点好笑,到底是怎么做到的呢?我掐指一算他应该是本想在 PHP 里面定义数组,但写错了$address = "[]" 手抖打多了引号而已,改过来就好啦。 |
32 suikator 2018-08-15 08:45:37 +08:00 via Android 原来后端这么好干 什么都不用做 |
33 asadegg &bsp;2018-08-15 08:45:52 +08:00 接口文档了解一下 |
34 sonyxperia 2018-08-15 08:50:09 +08:00 可能他确实不知道传给你的格式不对了 |
35 zjsxwc 2018-08-15 08:50:09 +08:00 address 是个单数啊,命名成 addresses 更合理 |
36 wjpdev 2018-08-15 08:58:14 +08:00 先两边约定好接口, 否则接口放到最后改来改去,自找麻烦。 |
37 947211232 2018-08-15 08:59:38 +08:00 不要过分苛刻要求,多沟通就好。 |
38 niaobulashi 2018-08-15 09:02:12 +08:00 我猜楼主刚毕业 |
39 maninfog 2018-08-15 09:02:50 +08:00 via Android 技术上的事情拿来吐槽,稍显幼稚了,沟通一下秒秒钟解决的事情,说不定别人只是手抖了呢 |
40 keepeye 2018-08-15 09:08:03 +08:00 碰过一个第三方平台的接口,返回的 json: "{\"result\":\"0\",\"err_msg\":\"设备编号错误\"}" 两头有双引号 |
41 ren2881971 2018-08-15 09:08:52 +08:00 都是混口饭吃嘛。。 也不是啥高精尖的技术行业。 LZ 想想你也会有到 30 岁的时候。。。 包容一下,你敢保证你从来没给别人挖过坑么? |
42 lzs5240 2018-08-15 09:09:50 +08:00 目测是个新人 |
43 hasbug 2018-08-15 09:10:54 +08:00 粗心或者没理解是数组还是字符串。 属于沟通不到位,说实话,我经常这样,我前端,然后我现在总怀疑自己理解错误,总会跟后端再次确认,但是呢,人家就不耐烦,呵呵。 |
44 killerv 2018-08-15 09:11:33 +08:00 我在想为什么它能生成这样的 json,难道是自己手动拼的? |
45 jimplanck 2018-08-15 09:14:19 +08:00 作为一个程序员不懂得沟通是很吃亏的 |
46 koalli 2018-08-15 09:19:02 +08:00 后端 php 的吧?我们后端也是 php 的,空数组返回 false 你敢信?实际上这是工作流程和规范的问题。 服务端作为一个黑盒系统,不能给出稳定的类型和结果,对接的时候就是各种坑,到哪里都是坑。 后端不跑测试用例的,对接的时候不是给 api 而是口头说的(很多),这种公司迟早会凉凉的。 |
47 huabinglan 2018-08-15 09:19:50 +08:00 JSON 也是有数据类型的,现在前端规范也是要求强类型相等(===),现在后端返回这种东西,面上来看后端本身就不严谨,这也不是约定的问题,而是 JSON 本身就有数据类型,按照正确数据类型返回是自然而然的事。同理存在多个 address,如果数据库没记录本身就应该返回空数组,没的说 |
48 a191243108 2018-08-15 09:20:28 +08:00/span> @keepeye 没问题呀这种,你 JSON.parse()就可以了,格式换一下就好了 |
49 u14e 2018-08-15 09:21:43 +08:00 所以我去做后端了 |
50 7654 2018-08-15 09:22:26 +08:00 前后端分离的一个好处就是可以互相甩锅吧 |
51 a191243108 2018-08-15 09:24:01 +08:00 这些都是小问题,没什么好烦恼的,你说一句话,不用几秒就搞定的事情,跟他沟通好,按照文档格式来,你就说这样防止出错,我估计别人手抖了一下,哈哈哈 |
52 shily 2018-08-15 09:26:52 +08:00 via Android @ren2881971 #41 我敢保证不挖这么 low 的坑。 |
53 enenaaa 2018-08-15 09:27:39 +08:00 应该是一个知识盲点而已。 反倒楼主, 动不动就猪队友叫唤,你就没出错的时候?就没懵逼的时候? 设身处地地想想,其他同事也这么怼你,会有何感想。 |
54 darktutu 2018-08-15 09:29:22 +08:00 不懂 php,但是这个变量的命名不就应该是返回一个 string 吗?也不是复数的为啥是个数组 |
55 geying 2018-08-15 09:32:03 +08:00 有发帖的功夫不如两个人对下文档和数据,解决一次大家都知道怎么回事 前端呀~ |
56 Tink PRO 这个后端是个新人 |
57 ala2008 2018-08-15 09:33:56 +08:00 返回[]是合理的,某种情况下,返回''''也是合理的。看数据格式约定 |
58 jdgui 2018-08-15 09:35:10 +08:00 楼上喷楼主的大概都是后端的。。 |
59 USNaWen 2018-08-15 09:36:10 +08:00 文档啊文档。。。。一开始就该订好存档下来啊 |
60 UIXX 2018-08-15 09:36:50 +08:00 接口文档+分离测试 谁的锅谁背 |
61 wanglilong 2018-08-15 09:38:53 +08:00 公司没有统一开发规范,50 步笑百步。 |
62 keepeye 2018-08-15 09:40:56 +08:00 |
63 overflowHidden 2018-08-15 09:45:34 +08:00 哈哈哈哈哈哈。。其实我也遇到过,我说返回一个数组,然后就变成了'[22,22]'。。。差点被气哭 |
64 ioth 2018-08-15 09:46:31 +08:00 别把别人想得太好,或者说别人为什么要对你太好? |
65 vipppppp 2018-08-15 09:47:28 +08:00 小公司的前后端分离。。一言难尽。。 前端传来的值,不传 /None/"",都可能。。 后端传回去的值,{"data" : {"data": []} / {"data": []} |
66 watzds 2018-08-15 09:49:33 +08:00 via Android 这种低级错误,竟然这么多人辩解,可见这土壤多么肥沃,工作写代码不讲究 |
67 v2chou 2018-08-15 09:51:14 +08:00 @nosay 捉到一个好后端 我们后台估计就是脑袋里过了一遍然后说成功了 然后要我调 然后调的时候各种报错 美名其曰 前后端联调 |
68 leejoye 2018-08-15 09:51:29 +08:00 已 block |
69 wpby 2018-08-15 09:52:54 +08:00 你这么吊,咋不去做后端?咋不去做 cto |
70 amon 2018-08-15 09:53:28 +08:00 我猜楼主用的是 php |
71 kera0a 2018-08-15 09:53:34 +08:00 via iPhone 这种情况后端的锅没得说吧,类型都给错误了还防御性编程个啥,弹出 json 解析失败就是最好的防御了,强行解析你保不住下次他给你个整型呢 |
72 watzds 2018-08-15 09:53:42 +08:00 via Android 我还见过那种徒手字符串拼接 json 的人 |
73 overflowHidden 2018-08-15 09:54:09 +08:00 不过经过楼主这么一发帖和楼上一些人的言论让我明白了这种‘失误’可能在后端很正常,放宽心咯 |
74 kera0a 2018-08-15 09:55:42 +08:00 via iPhone @overflowHidden 我觉得这些人连这些严谨都没自觉挺可怕的 |
75 jinsongzhao 2018-08-15 09:56:17 +08:00 这体现不了后端不懂[],干嘛不做个懂后端的前端呢。只要不是手工打造的 json,如果返回的属性类型是 string,编码器会自动加上引号。如果是 object,通常也会变成字符串。最好是明确属性类型是个数组。 |
76 rockyou12 2018-08-15 09:59:55 +08:00 @ala2008 敢把数组返回“”,做安卓和 ios 的会半夜把你闷棍敲死好不。好多前端 js 写多了不重视数据类型,在这里开脱真的搞笑。前后分离很重要一点不就是可以做多种客户端,java 和 object-c 可是静态类型的,真把这些数据类型乱传,跑的时候各种闪退还要自己抓包去找锅,真的杀人的心都有了…… |
77 a191243108 2018-08-15 10:07:55 +08:00 @keepeye 牛皮,原来你指加多了,一对分号''。我以前也碰到过 |
78 hotdogwc 2018-08-15 10:10:34 +08:00 这算啥,某微软亚洲研究院前员工(不知道真假,整天穿个微软的 T 恤在公司晃,LinkedIn 也显示他在那干了两年),收不到 iOS 推送,跟他联调,怎么都收不到,我这边自己接了个极光可以收到,从早晨调到下午,原来是他那边推送第三方库报错了请求根本没发出去。。。。。还有,有一次我发请求 404,我跟他说路由没找到,你帮我看看呗,结果他一直在让我换不同的 header 发,我跟他说没有可能你先不匹配路由就检查 header 吧,他跟没听见一样还让我换 header,最后还是路由的问题。。。 |
80 jzds001 2018-08-15 10:14:45 +08:00 无语了,这算什么问题?你就拿来黑了? |
81 weizhen199 2018-08-15 10:17:07 +08:00 "[]"确实很 low |
82 tinycold 2018-08-15 10:17:50 +08:00 我跟你说,你们这个算好的,我以前遇到一个,没有东西,就不给我返回,Request 就这么挂着。 我问他,你这个怎么次次都超时,我把超时限制关闭了都还一直不返回,怎么回事儿, 那哥们儿说: 没有东西,我怎么返回嘛!! 。 dei, 理直气壮的,我还觉得他说得多有道理的 |
84 julio867 2018-08-15 10:22:21 +08:00 嗯,这样的人应该挺多的吧~这两年遇到不少后台开发做接口的,有的人很规范,而有的人直接把整个数据库都暴露给你,然后跟你说“字段都给了,用什么自己挑”,当然密码字段也会出来 |
88 Sparetire 2018-08-15 10:26:12 +08:00 via Android 整个帖子的回复简直不忍直视。。低级错误也能有这么多人洗 鲁迅: 我觉得防御性编程防不了 sb |
89 qibing2000 2018-08-15 10:26:12 +08:00 @tinycold 这个我真的笑了。 |
90 Raymon111111 2018-08-15 10:27:10 +08:00 有接口文档吗? |
91 huoluobo 2018-08-15 10:29:26 +08:00 我也遇到过不少次,给后端说了他也好像理解了,然后改半天说改好了,拿回来一看还是错的,根本没变化不知道改的啥。。。 |
92 SirLostWhite 2018-08-15 10:29:38 +08:00 有接口文档和数据字典就好了 |
93 easylee 2018-08-15 10:30:55 +08:00 via Android 这种低级问题都能洗地,还说楼主的锅,我也是服了楼上洗地的各位,告辞,惹不起你们,今天你们可以喷楼主,说不定明天我发帖就来喷我了,惹不起惹不起。 |
95 duan602728596 2018-08-15 10:35:30 +08:00 via iPhone 真的,幸好 js 数据类型没多少,要不然真防御不过来 sb |
96 skSK09 2018-08-15 10:40:33 +08:00 hh |
97 NullException 2018-08-15 10:43:58 +08:00 前端不会 ajax 交互的一抓一大把。 |
98 rb6221 2018-08-15 10:46:52 +08:00 这还用规范?在我看来,如果明白确定是「 json 」格式,那所有不标准的 json 就统统是错误的,包括 PHP 的动态 key 数字 key 这种,都不算是标准的 json。 如果你要问我要规范,那行,json 规范自己看下,严格遵守就 OK |
99 ChristopherWu 2018-08-15 10:48:16 +08:00 我艹,评论的都是当真? |
100 66beta 2018-08-15 10:48:20 +08:00 via Android 还是自己校验下吧,真的,心累 |