
1 Cbdy 2020-01-18 09:39:01 +08:00 via Android 是的 |
2 rockyou12 2020-01-18 09:39:45 +08:00 大哥你这后端不管懂不懂,排版一定要懂啊…… |
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 dr1q65MfKFKHnJr6 2020-01-18 09:48:22 +08:00 凡是调接口的 , 直接把出参、入参原始值打印出来说事,不要你觉得,要日志觉得。 |
8 Livid MOD PRO @excitedXXX 在主题刚发布的十分钟内是可以修改的。你这个帖子的问题是,选择了 Markdown 格式,但是并没有了解 Markdown 对换行的处理。 |
9 anyele 2020-01-18 09:51:38 +08:00 via Android 确实后端水 |
10 Livid MOD PRO @excitedXXX 我帮你切换成了 Default 标记模式。 |
11 symeonchen 2020-01-18 09:52:47 +08:00 via Android 具体情况具体分析。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 第一个问题,你的方案有问题,但并不是你的错,删除 item 后直接前端移出 item,不要去请求后端接口除非用户刷新 一个是避免主从延迟导致的'删不掉',一个是避免频繁请求接口造成服务端压力。只能说这是个不怪任何人的 bug。 第二个问题,绝对服务端问题,虽然我也是个服务端。这几年踩过的坑告诉我没有什么是偶然的,偶然出现一定有 bug,绝对要排查清楚才行。只能说你不够强势,服务端问题直接反馈给服务端解决,他们不解决先跟上级反馈,再跟测试产品沟通一下,直接拒绝这个 bug。 |
16 k9982874 2020-01-18 10:31:18 +08:00 via iPhone 第一个问题,如果做了读写分离是有可能的 第二个问题,sql 有错后端先查根源,前端参数传错后端没处理异常,锅一人一半。 josn 空值返回 null 是默认行为,前端不要求,后端不会处理,所以提前商量好。 总结,经验不足的锅。 |
17 excitedXXX OP 看了大家的评论很受教.......感谢感谢 |
18 daimubai 2020-01-18 11:16:18 +08:00 歪个楼,我们之前的后端和 iOS 吵架了,然后后端说你以后别找我调接口,然后 iOS 用了一个月的假数据。。。 |
21 Erroad 2020-01-18 12:00:53 +08:00 第一个问题:总体方案设计有问题,主从延迟这种东西肯定会有的,到底是前端做个本地缓存处理,还是后端做强制读主库处理或者做一层缓存处理视情况而定; 第二个问题:前端的输入参数引起 sql 报错,那么就说明后端没有对前端数据做好参数校验和过滤,绝对后端有锅,参数到底怎么传可能是你们协商的问题、后端接口文档、你理解上的问题。 总体来说,我觉得你们后端问题比较大,毕竟后端应该担负起整个服务的责任 |
22 temp178 2020-01-18 12:01:39 +08:00 via iPhone 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 卢本伟牛逼 |
33 751327 2020-01-18 15:28:36 +08:00 第一个问题有可能 第二个问题,你们这前后端关系也太僵硬.... |
34 excitedXXX OP @751327 我也觉得,我才来没多久,之前的公司有啥问题都是互相帮忙排除,在这就是互相甩锅.有时候 bug 指错人了还发火....同组的打包也不通知,他改完打包给测试了然后我的 bug 全部算复现..QAQ. |
35 dr1q65MfKFKHnJr6 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:后端给予你的结果要保证逻辑严密性。哪怕是真有清 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 错了就是代码写得不够安全。 |