[讨论]APP 和后端通信模式 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请要在回答技术问题时复制粘贴 AI 生成的内容
ibiger
V2EX    程序员

[讨论]APP 和后端通信模式

  •  2
     
  •   ibiger 2015-09-29 17:52:55 +08:00 5112 次点击
    这是一个创建于 3668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在我们都是前后端通过 RESTFULL+JSON 传递数据, 有一个比较墨迹头疼得问题,客户端老要找后端约定字段啊,后端传递的已经是比较全的数据了, JSON 字段也自带说明了。这个问题你们有啥更好地解决方法没?

    28 条回复    2015-10-04 20:44:44 +08:00
    cxe2v
        1
    cxe2v  
       2015-09-29 18:00:16 +08:00 via Android
    换客户端开发人员
    lijinma
        2
    lijinma  
       2015-09-29 18:02:20 +08:00   2
    文档好好写啊,文档这个事情挺值得做的。
    cevincheung
        3
    cevincheung  
       2015-09-29 18:04:45 +08:00
    接口开放数据库。逻辑约束 I\D\U
    hantsy
        4
    hantsy  
       2015-09-29 18:07:02 +08:00
    @lijinma API 文档可以生成,在线测试。

    @cxe2v @ibiger 使用 Swagger 在线 API 文档。

    https://github.com/hantsy/angularjs-springmvc-sample-boot
    LINAICAI
        5
    LINAICAI  
       2015-09-29 18:16:27 +08:00
    可能你们后台传递的数据在前端看来不够啊,你给的需求的字段,后台没传递,这样 app 肯定要找后台了,先确定是哪个环节出的问题在解决。。。
    估计也是有些人不看文档。。。
    w99wen
        6
    w99wen  
       2015-09-29 18:28:07 +08:00
    我也困惑。
    有的不按照文档开发。
    最后总成的时候对不上。
    真是想死。
    有没有好办法啊。
    cxe2v
        7
    cxe2v  
       2015-09-29 18:32:52 +08:00 via Android
    谁的问题谁担责,问题很容易就没了
    temberature
        8
    temberature  
       2015-09-29 18:41:46 +08:00
    @cevincheung 能解释下后半句的意思吗:)
    lacklock
        9
    lacklock  
       2015-09-29 22:04:09 +08:00
    从前微软有一个叫 wcf 的 web service
    xi_lin
        10
    xi_lin  
       2015-09-29 22:06:41 +08:00 via iPhone
    后端给出的 data model 不一定是前端想要的 viewmodel 吧
    maemual
        11
    maemual  
       2015-09-29 22:10:23 +08:00 via iPhone
    难道接口都是后端自己定的,没有和客户端商量么?
    WildCat
        12
    WildCat  
       2015-09-29 22:18:10 +08:00 via iPhone
    GraphQL
    realpg
        13
    realpg  
    PRO
       2015-09-30 01:02:56 +08:00
    啥时候 APP 开发变成后端给啥客户端吃啥了?

    正常情况下,不是应该客户端去跟后端要数据,后端提供么

    前端没要的你瞎提供(你说的很全),前端要的你没提供(前端总找你要),我觉得这么自以为是的后端团队该换掉了
    semicircle21
        14
    semicircle21  
       2015-09-30 01:45:49 +08:00
    我觉得这么自以为是的后端团队该换掉了 +1

    移动端 App 与服务器端的通信尽量向 "多吃少餐" 的方向优化, 这样体验更好, 更省电, balabala...
    liujiangbei
        15
    liujiangbei  
       2015-09-30 07:45:10 +08:00 via iPad
    哈哈 谈到最后要炒掉后端了 沟通避免不了
    ryanking8215
        16
    ryanking8215  
       2015-09-30 08:37:47 +08:00
    通信协议不是项目负责人定的吗?再不济,前后端和负责人一起讨论。哪有开发过程中前后端通信约束都没有,后端应该给什么,前端要什么都不定,那还做什么项目?!前后端负责人都炒掉算了。
    ericyl
        17
    ericyl  
       2015-09-30 08:45:38 +08:00
    自以为是的后端团队该换掉了 +1
    前段需要什么,后端提供什么
    zhongdong
        18
    zhongdong  
       2015-09-30 09:21:29 +08:00
    后端字段传的合适的话能给前段减少很多工作量
    magicyu1986
        19
    magicyu1986  
       2015-09-30 09:32:58 +08:00
    如果不做共用的 Rest 接口,理论上接口谁用谁订.

    前端应该订好要什么数据,格式怎样,后端直接适配给你就好.
    haogefeifei
        20
    haogefeifei  
       2015-09-30 09:36:55 +08:00
    我们公司用的 json-rpc 和 xml-rpc
    ibiger
        21
    ibiger  
    OP
       2015-09-30 11:20:28 +08:00
    @realpg 提供了的,不过,都是 JSON 自说明的。 之所以提供的很全,就是客户端一会要这个一会要那个,而且很多页面多个请求点,不想重复请求。
    vicky517
        22
    vicky517  
       2015-09-30 13:39:15 +08:00
    测试人员干嘛吃的?接口不应该根据接口文档先测试吗?
    daydaysay
        23
    daydaysay  
       2015-09-30 14:07:54 +08:00   1
    @xi_lin 的确。
    客户端总想通过一个接口拿到所有想要的数据。

    例如客户端会觉得,注册的接口,同时要提供登录功能。(注册成功,返回登录 token 给客户端)。

    没办法解释。
    ytll21
        24
    ytll21  
       2015-09-30 18:59:45 +08:00
    @daydaysay 注册成功,返回登录 token 给客户端 -> 这个要求很合理啊,为什么要客户端多发送一次请求? 1. 增加用户的流量消耗 2. 增加服务器的负担。相反这些后台实现不是很方便的事情吗?
    zhenghuiy
        25
    zhenghuiy  
       2015-10-01 00:21:00 +08:00 via Android
    感觉楼主就是做后端的吧,本来想来找认同感结果反被教育了。。还是多沟通吧,工作不是争个谁对谁错的地,把问题解决了才是硬道理。
    lincanbin
        26
    lincanbin  
       2015-10-01 10:58:05 +08:00 via Android   1
    以前见过一个可以直接在 api 参数里传递 sql 语句然后执行的返回 json 结果集的。
    当然这不能学。
    jukka
        27
    jukka  
       2015-10-01 16:12:32 +08:00 via iPad
    一个人写好就完了,搞什么前后端。
    ibiger
        28
    ibiger  
    OP
       2015-10-04 20:44:44 +08:00
    @zhenghuiy 倒不是找认同感,看看大家都是怎么解决类似的问题。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1122 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:14 PVG 07:14 LAX 16:14 JFK 19:14
    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