后端api 如何实现手机app restapi接口 多版本兼容?
发布于 6 年前 作者 yakczh 3999 次浏览 来自 问答
server.route({
    method: 'POST',
    path: '/login',
    handler: (request, h) => {
        balaba 。。。
        return 'xxx';
    }
});

旧版本的app用的api 接口升级了增加了新的功能(比如原来是账号密码登录,现在用手机号,密码,验证码登录),但是客户并没有下载新的apk , 如果服务端要同时兼容这些客户端 一般是怎么处理的?

6 回复

所以在 resful 设计上就要做好版本管理.

[POST] /api/v1/login

[POST] /api/v2/auth/signin

v1 和 v2 路径可以完全不一样,同样的功能。这样做到 2 个版本同时存在。

即便用户不更新 App,还在用旧的 API 也没事。

所以,还在坚持用 /api/login这种不区分版本号的,就是在挖坑。就是不知道最后谁来填

@axetroy 没错,加个版本号就解决了

来自✨ Node.js开源项目精选

建议将版本放到header里做区分。

@axetroy 如果有功能没有变化的api 在更新的版本里是不是都把原来的代码复制一遍? 因为版本变更不是所有的api都更新一遍,这个是根据需求来实现的

@yakczh

复制一遍这个也没什么难啊. v1一个目录, 然后复制出来改成 v2

@yakczh 没有变化的api用宽松路由匹配,/:version 这样技能匹配1.0 又能匹配2.0

回到顶部