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

小白问一个关于后端对应多个端放接口的问题

  •  
  •   feifan00x · 195 天前 · 991 次点击
    这是一个创建于 195 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在一个后台应用对应多个端 比如 App 端和网页端 需要根据请求端不同而做出不同的响应的时候 大家是怎么写的?

    举个栗子:

    两个端 比如果登录吧 网页端用的是 session App 端是用的本地储存的用户凭证 他俩登录可以一个接口 但是返回数据有所不同

    如果把 api 分开写对应不同的 service 这样重复的东西会不会太多啊

    小白不太懂 还请指点

        1
    b821025551b   195 天前   ♥ 1
    方法 1:网页不用 session 机制,和 app 一样存储 token,走一样的接口;
    方法 2:后端接口 MVC,controller 层做两种就行了,一种针对网页,一种针对 APP,逻辑都是共用的。
        2
    feifan00x   195 天前
    @b821025551b 如果按照第二种方法来 对于不同端数据的返回不同 是要在 service 层做判断吗?
        3
    b821025551b   195 天前   ♥ 1
    不知道你所说的,两端数据有差别,是有多大的差别。按照我的理解,既然都是同一个接口,逻辑都是一样的,可能 APP 那边比网页那边多一个字段,如果这种的话没必要在每个 service 的逻辑里做,封装个函数做格式化,然后在 controller 里调用就行了。
        4
    WuwuGin   195 天前 via Android   ♥ 1
    关键词 RESTFUL API
        5
    feifan00x   195 天前
    谢谢各位的回答,我总结一下去试试。
        6
    AlisaDestiny   195 天前   ♥ 1
    @b821025551b 可以在 controller 直接判断 request.header 里的 user-agent。或者在接口里显式的加入客户端类型参数:
    /api/data?client=web | /api/data?client=phone
        7
    b821025551b   195 天前
    @AlisaDestiny #6 感觉你说的和 lz 想问的不是一件事。。。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   2997 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 05:47 · PVG 13:47 · LAX 22:47 · JFK 01:47
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1