素材牛VIP会员
关于WEB前后端分离,服务器端数据返回问题
 15***by  分类:PHP代码  人气:1713  回帖:11  发布于6年前 收藏

最近公司项目需要整改成前后端分离,为以后提高开发效率,和多设备兼容做准备。

本人是负责后端数据处理,使用PHP语言,Laravel框架

在开发过程中遇到一个这样的问题,希望有经验的朋友能帮我解决下,谢谢。

问题如下:

因为数据表设计关系,
比如:
click:浏览表
answer:回答表
topic:提问表
user:用户表
tags:标签表

如图,画出红线部分,
我个人倾向于,分开读取,每个都是一个api,如:
click http://x.com/click?k=1&b=2
answer http://x.com/answer/count?id=5
topic: http://x.com/topic/5
tags: http://x.com/tag?tid=10
user: http://x.com/u/5

以上只是简单备注,并不考虑链接

对于上图,我对前端提供 5个api,这样他可以根据条件自由获取,更加的是可重用,其它页面需要用什么,直接拿过来就可以。
就在此处和前端发生分歧,
前端希望我只做一个接口,获取所有页面上的信息,格式大致如下:
{

title:....,
username:......
tags:......

}

对于这种要求本人也思考和纠结很久,两种方法各有利弊,上面两种方法以先后顺序称为1,2

方法一:
缺点:
1、需要开发的接口众多
2、服务器来回传输可能会造成网络资源的浪费
有点:
1、可以提高代码重用率
2、可以优化后端代码

方法二:
缺点:
1、一个提问数据需要拿出很多非本身数据,如用户,标签等,如果我遇到很多这样的数据获取呢,比如文章数据,比如商城数据,我需要每次都根据我自己的循环再来一个个拿出user数据,感觉不太合适
优点:
1、减少前端代码工作量,特别是不需要他们去执行逻辑

思考再三,也没拿定主意,所以希望有遇到过类似问题的朋友能给我个意思,十分感谢。

PS:基本上只是使用angularjs+laravel,非使用nodejs中间层,淘宝ued已看过,才疏学浅不是太懂,只打算先不使用nodejs中间层

讨论这个帖子(11)垃圾回帖将一律封号处理……

Lv1 新人
多***悟 学生 6年前#1

呃这个问题.. 我也答一下吧:

我前后端都做。

我有的时候用原生(没有模版引擎),有的时候用mvc(模版分离);
angularjs 也用过一段时间

我个人感觉我更倾向于 自由度更高的 API 接口。

1.使用场景一(专题活动)

专题活动 的个性化很强
每次做公司专题活动页面。不会每次都去 找 后端 让他写个这次我所需的完整输出格式json吧。

若是后端已经提供了 自由度更的完整的api接口 那我前端想咋搞咋搞。只要所需的功能不超出提供的api那就没有问题。

就算这次活动搞不成了 飞机了。 也不会和我后端有任何影响,我也不用去删除一些 沉积的接口。

就好比 微信提供的 api 它提供的 自由度就比较高。 你按你的需求去调就好。 不可能 你需要个什么 还要 微信再给你提供接口吧。


所以你先看看是否给前端提供了 自由的 api
再问问他们的想法 是觉得 多个请求麻烦还是什么

语文不好

上一页12下一页
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取