后端接口返回数据,大家是按怎样的结构返回给前端的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yanqing07
V2EX    程序员

后端接口返回数据,大家是按怎样的结构返回给前端的?

  •  
  •   yanqing07 2019-07-10 14:47:05 +08:00 7997 次点击
    这是一个创建于 2286 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家是会把从 ORM (或者数据库)读取到的数据,直接返回的给前端呢?
    还是会先做些处理,例如:改下某些字段的名称,防止别人知道你的数据库的结构呢?
    还是有时会为了方便前端,先帮前端计算一些值,在原数据里面加上这些新值。

    15 条回复    2019-07-11 10:41:54 +08:00
    mikicomo
        1
    mikicomo  
       2019-07-10 14:49:51 +08:00   1
    只返回给前端需要的数据,多余的数据一个不给。
    avalon0624
        2
    avalon0624  
       2019-07-10 14:54:24 +08:00
    1 楼 + 1
    Immortal
        3
    Immortal  
       2019-07-10 14:55:48 +08:00
    后端统一计算主要是为了方便修改+多端统一
    还有就是 1l+1 https 等协议后 只要不是 get 请求 基本看不到返回结果了
    reus
        4
    reus  
       2019-07-10 15:00:04 +08:00
    文档怎么约定,就怎么返回。
    airfling
        5
    airfling  
       2019-07-10 15:04:02 +08:00
    计算让前端自己去计算,只返回必要的数据
    Resource
        6
    Resource  
       2019-07-10 15:23:20 +08:00
    按接口契约
    PerFectTime
        7
    PerFectTime  
       2019-07-10 15:25:54 +08:00
    按需供给, 一切以前端的文档为准
    coconut5
        8
    coconut5  
       2019-07-10 15:28:59 +08:00
    只按照需要给,有些处理前端会自己做,不需要后端这边处理。
    gwybiaim
        9
    gwybiaim  
       2019-07-10 15:31:01 +08:00
    graphQL 还是有一定市场的
    NoKey
        10
    NoKey  
       2019-07-10 15:41:25 +08:00
    数据库到页面,中间需要一个隔离,或者说中转,免得哪一边改了,改起来麻烦,同时也是你说的,免得别人直接看到数据库结构
    lihongjie0209
        11
    lihongjie0209  
       2019-07-10 15:43:17 +08:00
    如果页面和数据库的数据刚好一一对应, 直接给

    如果后面有变化了, 再重构一下
    Philippa
        12
    Philippa  
       2019-07-10 21:41:03 +08:00 via iPhone
    最佳实践的情景是返回所需数据,结构合理。理想中的情景是返回数据库的地址,让前端自行解决。
    luckylo
        13
    luckylo  
       2019-07-11 06:27:01 +08:00 via Android
    @mikicomo 我也是这么认为的。但是目前东家的接口恨不得直接把数据库放在调用端,让调用端自己去查。。。。有个分页的接口,返回的 json900+kb 你可以想象???
    mikicomo
        14
    mikicomo  
       2019-07-11 09:13:30 +08:00
    @luckylo #13 他这个是一页多少条数据啊....一页 100 条,一条数据有 90k 大小?
    xiao1995
        15
    xiao1995  
       2019-07-11 10:41:54 +08:00 via Android
    数据库的话,根据条件查询记录,只选择需要的列,保护数据库的话,就在 sql 语句中重命名列名,然后,,,,直接返回结果集
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     821 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:29 PVG 05:29 LAX 14:29 JFK 17:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86