请教后端同学这种写接口的方式对不对?

2022-01-14 11:44:15 +08:00
 firhome

如:请求一本 book 的订单信息

[以前] 1.请求后端 bookinfo 接口,bookinfo 返回 data:{}, 包含了 book 的基本信息,book 的订单信息和订单状态(出售中,下架 等)

2.前端直接渲染数据即可。

[现在] 1.请求后端 bookinfo 接口 返回 book 基本信息 2.根据 bookinfo 接口获取 book 的 id ,再去请求 bookOrderInfo 获取订单信息 3.根据 book id 和 bookOrderInfo 里面订单 id ,再去请求个接口获取订单状态。

导致我初始化页面要发 3 个请求。

想问下 [现在] 这是个什么情况。是后端不愿意给我们包吗?喊他加数据感觉很艰难。很多东西得前端做。如果是这样的话,是不是后面前端可以写 node 来包一层?

13584 次点击
所在节点    程序员
154 条回复
wangkun025
2022-01-14 11:45:28 +08:00
后端的锅。
后端不是菜鸡就是神经病。
junnplus
2022-01-14 11:46:53 +08:00
1 楼说的对
firhome
2022-01-14 11:47:58 +08:00
@wangkun025 这个后端好像以前做微服务的。是新来的大佬。现在老后端同学都笑我们是 面向微服务的前端开发
xmumiffy
2022-01-14 11:48:02 +08:00
所以才有个东西叫中间层
zepc007
2022-01-14 11:49:36 +08:00
2 楼说的对
smy14520
2022-01-14 11:49:52 +08:00
数据分开存储的,书籍是一个微服务,订单是另外一个微服务,
Cowhitewhite
2022-01-14 11:50:00 +08:00
什么辣鸡后端,你也应该反驳他
rbe
2022-01-14 11:50:41 +08:00
这种模块拆分非常细致的,很适合用上 GraphQL
javapythongo
2022-01-14 11:51:00 +08:00
你们要一个 bff 中间层作数据聚合
hecz
2022-01-14 11:51:05 +08:00
拆 12 没问题,第三个看业务场景吧
ArthurTsang
2022-01-14 11:51:36 +08:00
book 信息和订单信息分 2 接口没问题, 订单信息不含状态有点奇怪
kylix
2022-01-14 11:52:19 +08:00
我做过后端,我也觉得 2 楼说的对。
jtwor
2022-01-14 11:52:27 +08:00
微服务把业务颗粒化太细了,如果是小项目没必要,让他聚合一下也可以把
Rwing
2022-01-14 11:53:33 +08:00
其实后端这么做也没错,所以一般会有一个 bff 层来处理,而且一般前端人员可以写 bff 层
swulling
2022-01-14 11:54:15 +08:00
后端可以通过参数来控制

比如 bookinfo 接口默认只返回 book 基本信息,增加 with_order=true 就增加订单信息
lscexpress
2022-01-14 11:54:51 +08:00
其实说白了就是后端懒,多写一个接口整合已有的三个接口信息就完了的事
AoEiuV020CN
2022-01-14 11:55:57 +08:00
这后端就是真的面向数据库编程,只会 curd 了,一个表就一个 curd ,别的让你前端自己搞定,
hahasong
2022-01-14 11:56:49 +08:00
做了微服务拆分,但是应该加一层 api 层专门整合暴露前端接口。你确实成了面向微服务前端
ragnaroks
2022-01-14 12:03:33 +08:00
拆的太细了,你们打一架,谁赢了听谁的

后端赢了你就 request<getBookInfoList,getBookOrderInfo,getBookOrder>().waitAll()

你赢了后端就 return json<getBookInfoList,getBookOrderInfo,getBookOrder>()
einq7
2022-01-14 12:05:20 +08:00
那请问遇到这种情况,该如何有理有据的反驳呢,比如说这种写法有什么弊端呢

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

https://www.v2ex.com/t/828191

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

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

© 2021 V2EX