1
codermagefox 2018-08-15 03:13:32 +08:00 via iPhone
你确定他不是故意这么返回给你的?
|
2
meloner 2018-08-15 05:24:32 +08:00 via Android 4
幼稚, 本质上是个沟通问题, 你需要一些防御性编程的意识, 我也是前端
|
3
ryd994 2018-08-15 06:20:30 +08:00 via Android 1
你们接口文档不先商量一下吗?
|
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 6
看不出来这有啥好黑的。你和他沟通一下就好了,在网上发帖起不到任何实质性的作用。
|
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 75
一点小事就生气, 你也干不了什么大事。
|
12
Quarter 2018-08-15 07:26:11 +08:00 via iPhone 1
额,我觉得可能只是失误,有的时候很就没有改这部分代码,然后改的时候就忘记代码逻辑,以为是这么改的,没想到改的还不是最终结果,你跟他说写完了先 postman 测试一下对不对,应该也算不上猪队友吧,楼主也别生气了,如果他告诉你只能返回字符串,是改不了数组的,那就比较猪队友了,其实这种错误还是挺常见的,莫生气
|
13
haimall 2018-08-15 07:34:13 +08:00 via Android 11
在别人身上看到的缺点,都是自己的映射。
|
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 2
大惊小怪
|
17
jiangjz 2018-08-15 07:49:09 +08:00 via Android
我们前端都是自己解决这些问题的
|
18
nosay 2018-08-15 07:55:50 +08:00 via iPhone 1
身为后端,每次都会在 postman 里测试好,然后发接口文档给相关同事。但还是依然避免不了 ios 那大兄弟 app 因类型问题闪退的情况,互相鄙视已属常态,淡定就好
|
19
jorneyr 2018-08-15 08:03:35 +08:00
可能是你们的规范没有规定好什么情况返回什么数据,我们有强制规定。
|
20
lyklykkkkkkk 2018-08-15 08:19:52 +08:00 8
另一个思路是
反思自己如何沦落到与之为伍 |
21
natscat 2018-08-15 08:21:32 +08:00
不说前面的谁对谁错 改了之后居然返回"[]" 这样写的我是没见过的
|
22
duoglas 2018-08-15 08:22:40 +08:00 1
遇到这类问题不去推进整体流程规范改进避免后续发生,来这里发个吐槽抖机灵,不怕以后的面试官在这里看到黑历史么?
|
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 3
楼主在这里抛了个很水的一个问题,感觉人就是水的,哈哈哈哈
|
26
tnt666666 2018-08-15 08:32:49 +08:00 6
天天写前端不烦吗,还 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 3
有些开发在接口返回的时候,图省事都是返回 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 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 3
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 2
技术上的事情拿来吐槽,稍显幼稚了,沟通一下秒秒钟解决的事情,说不定别人只是手抖了呢
|
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 2
都是混口饭吃嘛。。 也不是啥高精尖的技术行业。
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
@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 2018-08-15 09:32:30 +08:00
这个后端是个新人
|
57
ala2008 2018-08-15 09:33:56 +08:00
返回[]是合理的,某种情况下,返回''''也是合理的。看数据格式约定
|
58
jdgui 2018-08-15 09:35:10 +08:00 1
楼上喷楼主的大概都是后端的。。
|
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 3
这种低级错误,竟然这么多人辩解,可见这土壤多么肥沃,工作写代码不讲究
|
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 1
@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 2
无语了,这算什么问题?你就拿来黑了?
|
81
weizhen199 2018-08-15 10:17:07 +08:00
"[]"确实很 low
|
82
tinycold 2018-08-15 10:17:50 +08:00 10
我跟你说,你们这个算好的,我以前遇到一个,没有东西,就不给我返回,Request 就这么挂着。
我问他,你这个怎么次次都超时,我把超时限制关闭了都还一直不返回,怎么回事儿, 那哥们儿说: 没有东西,我怎么返回嘛!! 。 dei, 理直气壮的,我还觉得他说得多有道理的 |
84
julio867 2018-08-15 10:22:21 +08:00 1
嗯,这样的人应该挺多的吧~这两年遇到不少后台开发做接口的,有的人很规范,而有的人直接把整个数据库都暴露给你,然后跟你说“字段都给了,用什么自己挑”,当然密码字段也会出来····
|
88
Sparetire 2018-08-15 10:26:12 +08:00 via Android 7
整个帖子的回复简直不忍直视。。低级错误也能有这么多人洗
鲁迅: 我觉得防御性编程防不了 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 6
这种低级问题都能洗地,还说楼主的锅,我也是服了楼上洗地的各位,告辞,惹不起你们,今天你们可以喷楼主,说不定明天我发帖就来喷我了,惹不起惹不起。
|
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 1
前端不会 ajax 交互的一抓一大把。
|
98
janus77 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
还是自己校验下吧,真的,心累
|