V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coolair
V2EX  ›  问与答

我怎么感觉 RESTful API 方式做的前后端分离网站,到最后越来越乱了?

  •  
  •   coolair · 2017-09-13 11:13:52 +08:00 · 4671 次点击
    这是一个创建于 2627 天前的主题,其中的信息可能已经有所发展或是发生改变。
    接口越来越多,返回的 json 乱七八糟、千奇百怪,文档越写越后,感觉还不如传统的方式来的实在、痛快、清晰、明了。
    16 条回复    2017-09-15 19:02:43 +08:00
    doublleft
        1
    doublleft  
       2017-09-13 11:25:31 +08:00
    当然会混乱,我觉得考虑用 RESTful 要看合作的前后端同学素质,能不能严格按照文档执行。
    SuperMild
        2
    SuperMild  
       2017-09-13 11:54:42 +08:00
    返回的 json 乱七八糟不能怪 RESTful 吧
    shoaly
        3
    shoaly  
       2017-09-13 12:25:09 +08:00
    你说的对. 所以 我个人是反对 为了分离而分离的....
    额外提取出接口, 会增加前后端沟通的繁琐工作, app 是没办法才用 json, 没看见大部分 app 也在用 webview 的方式来做展示逻辑么, 这也算抛弃了 json 接口模式转向"后端直出流"
    duan602728596
        4
    duan602728596  
       2017-09-13 19:56:22 +08:00
    RESTful 一生黑。做的项目,接口全部都是 RESTful 风格的,已经被坑怕了。
    1、数据没有过滤,存进去啥,取的就是啥,没有数据库字典,数据结构混乱,写了一堆容错。调整数据结构十分不便。
    2、取数据麻烦,有些数据需要查好几个表,前端需要发好几次请求。
    3、某些业务流程,调用的接口更多,我写的最多的一个流程调用了 6 个接口,发送了 6 次请求。
    4、某些本该后端来算的工作被加到前端来算了,比如某些字段是递增的唯一字段(xxx-1 这种),居然要前端来计算。

    最后,Promise 大法好,async 大法好,要不然,前端就不只是发发牢骚了。
    Tyanboot
        5
    Tyanboot  
       2017-09-13 22:57:21 +08:00
    @duan602728596 你说的这么多基本都只能怪你的后端接口设计有问题...不能说明 RESTFUL 有问题.
    BenX
        6
    BenX  
       2017-09-14 08:49:51 +08:00 via iPhone
    @duan602728596 请把你们做 restful API 的后端开发拖出去斩了,搞前后端分离后 API 怎么用好,前端说了算。
    RorschachZZZ
        7
    RorschachZZZ  
       2017-09-14 12:58:07 +08:00
    @duan602728596 数据校验后端不做吗。。。。
    duan602728596
        8
    duan602728596  
       2017-09-15 00:01:34 +08:00 via iPhone
    @Tyanboot 没办法,拿着通用接口做业务,而且接口那头还不是我们公司的
    duan602728596
        9
    duan602728596  
       2017-09-15 00:06:21 +08:00 via iPhone
    @BenX 用的都是通用接口,所有的业务逻辑全部在前端
    duan602728596
        10
    duan602728596  
       2017-09-15 00:11:10 +08:00 via iPhone
    @RorschachZZZ 没有校验,接口都是通用接口,业务逻辑全部在前端
    BenX
        11
    BenX  
       2017-09-15 00:37:28 +08:00 via iPhone
    @duan602728596 显然不合理,大量业务逻辑放后端啊,前端要足够轻薄才能更好变更啊。粗暴的说就是,前端 SB 到完全 API 的数据驱动,做好前端的酷炫才是重点。
    duan602728596
        12
    duan602728596  
       2017-09-15 08:27:46 +08:00 via iPhone
    @BenX 所以被那个项目惨了,里面大量的业务逻辑,没有注释,而且业务还总变。我已经跳出坑了,同事还在坑里
    RorschachZZZ
        13
    RorschachZZZ  
       2017-09-15 09:06:31 +08:00
    @duan602728596 业务逻辑为啥在前端。。。API 方式必须要对所有回传数据校验,不校验有人搞事就 GG 了。
    duan602728596
        14
    duan602728596  
       2017-09-15 13:53:47 +08:00 via iPhone
    @RorschachZZZ 因为后端只是负责搞通用型的数据存储平台,只有增删改查的接口。所以业务逻辑就全在前端了
    shangfabao
        15
    shangfabao  
       2017-09-15 14:46:37 +08:00
    @duan602728596 前端更多应该是效果展示和简单数据校验啊,你们这是把用户手机当服务器使啊,“物联网啊”
    duan602728596
        16
    duan602728596  
       2017-09-15 19:02:43 +08:00 via iPhone
    @shangfabao 不是手机,是管理平台
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2789 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:25 · PVG 10:25 · LAX 18:25 · JFK 21:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.