【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?

前端同事告诉我一个接口需要包含所有的数据,理由是多接口请求,前端逻辑会很复杂,同时如果移动网络有问题的话,容易接口部分成功部分失败,前端处理这些异常情况很费劲,我们使用restful接口,这样的话感觉会不利于接口的设计,他的说法对么?原因是什么?什么是最佳实践。

回答

需要你把模块怎么划分了。
比如有这样一个数据

{

data1:obj1,

data2:obj2

}

很显然如果应用是需要这两个数据的,那没毛病,一起拿过来最好。
但是,如果这份数据需要被用在多个环境,
比如
应用1 仅仅用到了 data1
应用2 仅仅用到了 data2
而应用3 同时用到这两个数据

那么最好就是分开来获取了,毕竟前端有 promise.all 嘛
数据合并起来也不是很麻烦
题主可以去了解下 promise 的实现,尤其是 .all 方法的使用

当然这仅仅是一小种情况,具体的还是需要看实际的项目

而且 restful 接口,数据分割在一定程度上越细越好

大体就是找类似下面的解决方案,思路如此,具体用哪个自己可以再找找。

APIJSON http://git.oschina.net/Lemon1...
【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?

说得有一定的道理,移动开发应该尽量减少接口的请求次数,否则实际开发中会比较繁琐,因为每个接口要考虑异步请求的成功,失败两种情况,多次请求的话,这个组合就啰嗦了。。。

适合自己的才是最佳实践

针对某些特定场景来进行优化也是常事吧

你需要的一个东西叫GraphQL

1.首先把前端要的数据分类
2.获取数据的接口接受前端传过来一个标记,根据标记来返回不同的数据,你只是做数据的加工就行了

之前我也是这么想的,后端的说服了我:你不觉得接口的解耦很重要吗

可以参考“Restful 设计指南“。

如果你把后台的数据以面向对象的思想定义为一个一个的资源的话,可以很好的定义和控制后台接口返回的数据了。

当然也就知道一个后台接口里面应该包含那些数据了。

以上是 【java】网页/移动前端需要的数据,最好一个接口包含所有数据么? 的全部内容, 来源链接: utcz.com/a/74604.html

回到顶部