1
Cbdy 2020-01-18 09:39:01 +08:00 via Android
是的
|
2
rockyou12 2020-01-18 09:39:45 +08:00 6
大哥你这后端不管懂不懂,排版一定要懂啊……
|
3
excitedXXX OP @rockyou12 刚来社区没多久.....明明敲了回车结果是这个排版....现在改不了了....
|
4
component 2020-01-18 09:41:08 +08:00
很明显啊,两个半斤八两的前后端,你应该花点时间用 nodejs 捣鼓一个项目,搞清楚搞明白了,以后对这种半桶水的 CRUD boy 的虾扯蛋就可以理直气壮的对回去了。
|
5
excitedXXX OP @component 我是 android.....
|
6
Jaosn 2020-01-18 09:44:37 +08:00
怼就完事了
|
7
cedoo22 2020-01-18 09:48:22 +08:00
凡是调接口的 , 直接把出参、入参原始值打印出来说事,不要你觉得,要日志觉得。
|
8
Livid MOD @excitedXXX 在主题刚发布的十分钟内是可以修改的。你这个帖子的问题是,选择了 Markdown 格式,但是并没有了解 Markdown 对换行的处理。
|
9
anyele 2020-01-18 09:51:38 +08:00 via Android
确实后端水
|
10
Livid MOD @excitedXXX 我帮你切换成了 Default 标记模式。
|
11
symeonchen 2020-01-18 09:52:47 +08:00 via Android 1
具体情况具体分析。1.可以理解,前端先行移除也正常,多数场景删除一条数据并不意味着「立刻」重新拉取「全部」数据。2. 不了解,多沟通。其他,无值给 null 或是不传或是给默认值,没有绝对的对错,最好是事先约定+防御性编程。譬如有的时候 int 值为 0 和为 null 有不同业务含义呢。
|
13
charlie21 2020-01-18 09:54:05 +08:00
欸 所以前后都懂一点儿 还是很有必要的,防止被讹
|
15
dilu 2020-01-18 10:22:14 +08:00 via Android 1
第一个问题,你的方案有问题,但并不是你的错,删除 item 后直接前端移出 item,不要去请求后端接口除非用户刷新 一个是避免主从延迟导致的'删不掉',一个是避免频繁请求接口造成服务端压力。只能说这是个不怪任何人的 bug。
第二个问题,绝对服务端问题,虽然我也是个服务端。这几年踩过的坑告诉我没有什么是偶然的,偶然出现一定有 bug,绝对要排查清楚才行。只能说你不够强势,服务端问题直接反馈给服务端解决,他们不解决先跟上级反馈,再跟测试产品沟通一下,直接拒绝这个 bug。 |
16
k9982874 2020-01-18 10:31:18 +08:00 via iPhone 1
第一个问题,如果做了读写分离是有可能的
第二个问题,sql 有错后端先查根源,前端参数传错后端没处理异常,锅一人一半。 josn 空值返回 null 是默认行为,前端不要求,后端不会处理,所以提前商量好。 总结,经验不足的锅。 |
17
excitedXXX OP 看了大家的评论很受教.......感谢感谢
|
18
daimubai 2020-01-18 11:16:18 +08:00 8
歪个楼,我们之前的后端和 iOS 吵架了,然后后端说你以后别找我调接口,然后 iOS 用了一个月的假数据。。。
|
21
Erroad 2020-01-18 12:00:53 +08:00
第一个问题:总体方案设计有问题,主从延迟这种东西肯定会有的,到底是前端做个本地缓存处理,还是后端做强制读主库处理或者做一层缓存处理视情况而定;
第二个问题:前端的输入参数引起 sql 报错,那么就说明后端没有对前端数据做好参数校验和过滤,绝对后端有锅,参数到底怎么传可能是你们协商的问题、后端接口文档、你理解上的问题。 总体来说,我觉得你们后端问题比较大,毕竟后端应该担负起整个服务的责任 |
22
mejee 2020-01-18 12:01:39 +08:00 via iPhone 1
1,后端没有坑你,前端删除对于用户感受也会好些,不用重新加载列表。但是从库延迟的问题应该设计方案的时候就想到,不过 一般最多 也就几百毫秒的延迟,很多时候会忽略掉这个问题。
2,直接崩了是后端的锅,其他的不好说。 |
23
CEBBCAT 2020-01-18 12:28:27 +08:00 via Android
人类都登月几十年了,技术问题不存在。
第一个是一致性问题,要是我我就吭哧吭哧找解决办法去了,没听说过 YouTube 删什么东西还要删几分钟的,不过对于用户倒是可以解释成有缓存 第二个也是他在甩锅,对外暴露的接口应该对传进来的数据持怀疑态度。传 null 是团队开发规范吧,八成咱俩都是小公司,体量大点就会有要求,不然协作也太折磨人了 |
24
mnssbe 2020-01-18 12:38:31 +08:00
这个后端太水,怼得太直接也是影响工作
|
26
SyncWorld 2020-01-18 13:37:59 +08:00
第一个问题没看懂....
第二个问题:要么是开发时间压缩的很近,要么是外包公司,要么就是后台脑残~~ 凡是开发时间给充足了,我都会校验参数的,但是 TMD 我们公司让我们一个月要做完 200 多个功能,那就.....凡是报错全部在拦截器层处理,统一返回请求失败,参数都不带校验的,必传相全部在数据库里设置 not null........这样很不负责,但是可以提高不少的工作效率. 再按以前那种,错误码排一堆,各种异常分别处理,我估计我们老板得让我们 007 了 |
27
KasonPasser 2020-01-18 14:05:47 +08:00
如果是参数问题,那应该也把对应的问题给返回。而不是拿错误的参数去执行 sql 完全相信前端传来的数据,分分钟就给别人脱库。
|
28
icecreamxuegao 2020-01-18 14:11:00 +08:00
字段无值不返回或者给 null 这种还是要看规范的,如果有规范就按照规范来,如果没有规范就两个人商量出一个规范出来就行了。
|
29
lovemegowin 2020-01-18 14:17:27 +08:00
还是不够强势 换我遇到这种后端能喷到他妈都不认识
|
30
zigzog 2020-01-18 14:28:00 +08:00 via Android
1 有可能是真的,2 应该是忽悠,从 2 反推 1 应该也是忽悠
|
31
ZXCDFGTYU 2020-01-18 14:57:39 +08:00
大写的忽悠
|
32
liumxz 2020-01-18 15:00:25 +08:00 1
卢本伟牛逼
|
33
751327 2020-01-18 15:28:36 +08:00
第一个问题有可能
第二个问题,你们这前后端关系也太僵硬.... |
34
excitedXXX OP @751327 我也觉得,我才来没多久,之前的公司有啥问题都是互相帮忙排除,在这就是互相甩锅.有时候 bug 指错人了还发火....同组的打包也不通知,他改完打包给测试了然后我的 bug 全部算复现..QAQ.
|
35
cedoo22 2020-01-18 18:04:29 +08:00
说实话, 作为一个服务端开发,很容易对前端有点不耐烦,业务流程复杂的时候,调试会有许多不确定性的问题,接口提供出来给你调用,出了问题,永远第一句就是:这里为啥返回的是这样??
大部分公司而言 前端不会做多么开创性的东西,就只是展示数据那么简单的事情,所有的逻辑基本都在后端,一不给日志 二不发参数,一来就质问的语气 问为啥不对。。。。 |
36
hoyixi 2020-01-18 18:09:54 +08:00
软件作坊就这样,整天加班其实都在扯淡
|
38
xiaojun1994 2020-01-18 19:09:36 +08:00
这就扯淡了,我一般会自己删掉,但是挡不住用户刷新啊,一刷新又出来了岂不是很尴尬
|
39
q8164305 2020-01-18 19:31:11 +08:00 via Android
所以我自己学后端了,跟他们扯真的很费事
|
40
zhw2590582 2020-01-19 08:44:52 +08:00
@daimubai 这也太嚣张了吧
|
41
amon 2020-01-19 08:45:26 +08:00
一般调接口先用 postman 类的工具调通了再接入,所以如果 postman 类工具调用都有各种问题,把问题甩给后台就对了:)
|
42
wupher 2020-01-19 09:04:51 +08:00 1
是的,他在忽悠你。
这其实和前后端都没关系,没有想伤人的意思,但我真心觉得这个是智商问题。 问题 1:后端给予你的结果要保证逻辑严密性。哪怕是真有清 cache 等异步操作,后端也要保证给你的结果是准确有效的,要去除,也应该是后端去除。 问题 2:偶现不偶现和是否参数真没关系。后端可能完全把某个用户输入给拼接成 SQL 了,如果用户尝试注入或者输入某些含 SQL 关键字的乱码,就会造成异常。不过,的确如你所说,用户输入本来就不能信任。他要缺点德给你来个 SQL 注入都是有可能的。站在后端的角度,所有的前端调用都是不能信任的,参数必须经常验证和鉴权。 所以,综上所述,我觉得你的队友虽然甩锅是一方面原因,另一方面,你确实也应该自我提升一下。 当然,也可能是你在开贴骗分 ¯\_(ツ)_/¯ 祝春节快乐 |
43
xuanbg 2020-01-19 09:32:46 +08:00
1、主从延时过高的话,是运维的锅,你找后端没用。
2、前端对 list 里面的 item 进行操作的同时,应该自己更新数据而非偷懒调接口刷新数据。一来体验不好,二来空耗流量。如果是新增 item,可以让接口返回 id,然后自己更新对象的 id 后插入到 list 里面。 3、接口爆炸的那个完全就是后端嘴硬罢了,SQL 错了就是代码写得不够安全。 |