【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?
前端同事告诉我一个接口需要包含所有的数据,理由是多接口请求,前端逻辑会很复杂,同时如果移动网络有问题的话,容易接口部分成功部分失败,前端处理这些异常情况很费劲,我们使用restful接口,这样的话感觉会不利于接口的设计,他的说法对么?原因是什么?什么是最佳实践。
回答
需要你把模块怎么划分了。
比如有这样一个数据
{ data1:obj1,
data2:obj2
}
很显然如果应用是需要这两个数据的,那没毛病,一起拿过来最好。
但是,如果这份数据需要被用在多个环境,
比如
应用1 仅仅用到了 data1
应用2 仅仅用到了 data2
而应用3 同时用到这两个数据
那么最好就是分开来获取了,毕竟前端有 promise.all 嘛
数据合并起来也不是很麻烦
题主可以去了解下 promise 的实现,尤其是 .all 方法的使用
当然这仅仅是一小种情况,具体的还是需要看实际的项目
而且 restful 接口,数据分割在一定程度上越细越好
大体就是找类似下面的解决方案,思路如此,具体用哪个自己可以再找找。
APIJSON http://git.oschina.net/Lemon1...
说得有一定的道理,移动开发应该尽量减少接口的请求次数,否则实际开发中会比较繁琐,因为每个接口要考虑异步请求的成功,失败两种情况,多次请求的话,这个组合就啰嗦了。。。
适合自己的才是最佳实践
针对某些特定场景来进行优化也是常事吧
你需要的一个东西叫GraphQL
1.首先把前端要的数据分类
2.获取数据的接口接受前端传过来一个标记,根据标记来返回不同的数据,你只是做数据的加工就行了
之前我也是这么想的,后端的说服了我:你不觉得接口的解耦很重要吗
可以参考“Restful 设计指南“。
如果你把后台的数据以面向对象的思想定义为一个一个的资源的话,可以很好的定义和控制后台接口返回的数据了。
当然也就知道一个后台接口里面应该包含那些数据了。
以上是 【java】网页/移动前端需要的数据,最好一个接口包含所有数据么? 的全部内容, 来源链接: utcz.com/a/74604.html