V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ibiger
V2EX  ›  程序员

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

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

    现在我们都是前后端通过 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  
       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   ·   实用小工具   ·   5966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:57 · PVG 09:57 · LAX 17:57 · JFK 20:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.