前端请教 后端返回数据格式问题

2023-12-11 16:29:01 +08:00
 HeroYang811
本人:前端
对方:后端(外包)
情况:电商项目首页商品列表
问题 1:在多维数组内某些字段含有多个数据的情况下,后端返回的数据格式为字符串,多个则用逗号隔开比如"http://123,http://456,http://789",然后让我前端去做逻辑处理,也就是说让我将字符串转换为数组再处理。
问题 2:部分类型判断采用中文,比如某个商品类型,name === '类型一号' ,然后根据这个相等的类型去展示对应的内容。
我的前端理解:这也太不规范了吧,很多地方逻辑数据处理全部扔到了前端,而且是在商品首页数据量这么大的地方,难道不会导致页面渲染缓慢吗,并且说:“客户端处理逻辑是用户体验感最好的表现”,偷懒也不能这样吧
结果:浪费时间,我懒得扯了,前端写就写吧

虚心请教,各位后端大牛的看法,
8421 次点击
所在节点    程序员
72 条回复
evam
2023-12-12 17:55:07 +08:00
找前端组长/后段组长/架构师
这种事情其实看编码规范
2324
2023-12-13 09:51:22 +08:00
@James2099 前端做分页是一次性传个 1 ,2M 的数据,自己拿 js 裁吗?
lDqe4OE6iOEUQNM7
2023-12-13 10:15:45 +08:00
@2324 对的
wangtian2020
2023-12-13 10:21:08 +08:00
@brader 确实是水平不高,也就 java boy 老是搞这种接口了,要是 nodejs 当后端绝对不可能有 json 字符串出现在接口里面。存可以存 json 字符串,处理成 json 对象再传出来可以吗
OrionParker
2023-12-13 10:25:29 +08:00
@1016 在网上挂我?好,我记住你了。
brader
2023-12-13 10:26:39 +08:00
@wangtian2020 别人这么搞自然是有道理的,这些字符串存在一个数组记录里面,服务端反序列化需要成本,对于一个请求来说微不足道,但是成千上万个请求就有的算了,把这部分算力下放到客户端也没什么不妥。
另外像微信之类,近些年他们也把很多服务端可完成的算力成本下放到客户端了,很多计算都在客户端做。
wangtian2020
2023-12-13 10:32:21 +08:00
@brader 我作为对接方是不是还得夸他几句?
主题里是普通的前端和后端对接接口,反正我遇到的后端给出这种接口我肯定要骂。哪怕真是去对接阿里腾讯 api ,他好意思给这种接口我作为对接方难道得夸他几句?
brader
2023-12-13 10:38:46 +08:00
这本身就是不同角度看法产生的矛盾点,如果你能夸对方的话,矛盾也就不存在了。
我只是说从技术上讲这种做法我认为没什么问题。
非要解决这个争议也很简单,有决定权的人提前把规范定下来就是了,开发遵照执行。
way2create
2023-12-13 11:07:02 +08:00
我说句实话,哪怕就算是他不规范他菜但你没话语权有啥用呢?很多事实际工作中是商量着来的,只要不会太离谱就行,而且很多规范遵守不遵守说实话也看公司看项目看工期,不是谁都是搞得高大上的。
F7TsdQL45E0jmoiG
2023-12-13 11:21:42 +08:00
通常不都是前端外包,后端自己搞
way2create
2023-12-13 11:22:46 +08:00
补充一句:
1 这个非要说规范肯定是不太推荐这样存的 但有些实在是小项目没要求的或者历史遗留问题也懒得去动 其次这种数据一般只会考虑本身没有逗号的数据
2 这个我不喜欢用中文判断
我实际工作中一般都跟前端商量着来,我多做点事也无所谓,只要不会太离谱工期允许,鄙人也是底层 CURD BOY 不是什么大牛,个别前端(仅针对我遇到的来说)真的是又菜又爱偷懒,你要是说帮我处理下我也 OK ,还非要把人当傻子扯 7 扯 8 装 X ,实际上规范也不是他那样的,项目也是个极小的项目,真的就啥逻辑验证都不乐意写只管发送接收就好。
soloHm
2023-12-13 16:50:49 +08:00
@gitrebase 问题 2 正常要么定义成字典要么定义成枚举,但是直接用名字 确实不咋地

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

https://tanronggui.xyz/t/999425

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

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

© 2021 V2EX