关于前后端分离接口和展示层的一些问题

2019-07-02 11:41:09 +08:00
 lihongjie0209
  1. 排序问题

假如接口返回的数据是 3 1 2, 但是前端需要展示的是 1 2 3, 并且没有分页, 一共就 3 条数据, 那么这个排序是前端做还是后端做.

  1. 数据整理问题

假如接口返回的是一个数组, 但是前端需要一个树, 那么这个数据整理是前端做还是后端做.

我的想法是后端和展示层不依赖, 数据整理和排序都应该是展示层的工作.

实际情况是前端做起来很费力, 只能我专门写一个整理好的接口.

再次说明了: 技术问题最终还是人的问题.

11751 次点击
所在节点    程序员
131 条回复
lihongjie0209
2019-07-03 11:53:40 +08:00
@jorneyr 需要一个树是指前端说他使用的组件需要一个树结构, 我不想接口和前端的组件耦合
jorneyr
2019-07-03 11:58:38 +08:00
@lihongjie0209 了解是树结构,前端太多的时候,每个前端都做一遍,结果容易不一致导致出错,还重复劳动,如果只有一种前端,谁做都没问题
lihongjie0209
2019-07-03 12:03:19 +08:00
@jorneyr 我说的是前端组件(比如说小程序的一个联动组件)需要, 假如是多端, 手机端的组件需要另外一种结构, 那还要改接口
rocy
2019-07-03 12:41:04 +08:00
@Livid 像#112 #113 #116 这种 艾特一大片的人 打广告 是不是有点太过分了。 每次看到他都是 建议拉黑
Livid
2019-07-03 12:41:50 +08:00
@liuhuansir
@rocy

举报收到。那个账号会被处理。
itabas016
2019-07-03 13:12:46 +08:00
这个不应该啊是谁定义接口,谁说了算吗?
lihongjie0209
2019-07-03 13:55:05 +08:00
@itabas016 我定义了前端不满意. 而且这也不是"谁"的问题, 只是想讨论一下前后分离之后接口该怎么定义
12tall
2019-07-03 14:47:33 +08:00
赞同 @zongwan 的回复,在讨论分工时不要忘记前后分离的初心是什么
Mutoo
2019-07-03 15:08:17 +08:00
GraphQL 很好地解决了这个问题,后端只要提供数据访问,前端根据自己的业务需求去组织数据结构。
balabalaguguji
2019-07-03 15:14:29 +08:00
说到底,每个人都想偷懒一点,才会推来推去。
我前后端都做,一般我会从性能方面去考虑由谁来做,因为我之前是做游戏的,比较讲究性能。
像你这种一次性能返回所有数据的,我一般会选择前端排序,这样更省服务端资源,如果数据库表中数据量不到,而且能数据库 orderby 直接排序,也可以考虑服务端搞定。
树形结构的数据,做之前就要约定要什么结构,拿数据时就直接返回,一般不会再处理,就算处理也一般会选择前端去处理,因为 1w 个人,服务端需要处理 1w 次,而客户端只需要一次。
balabalaguguji
2019-07-03 15:15:49 +08:00
@lihongjie0209 接口文档,你可以试下易文档 easydoc.xyz ,双方可以事先约定好文档再开工

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

https://yangjunhui.monster/t/579241

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

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

© 2021 V2EX