CNode

后端api 如何实现手机app restapi接口 多版本兼容?

问答
Yyakczh发布于8 年前最后回复8 年前6 回复4703 浏览0 收藏
server.route({
    method: 'POST',
    path: '/login',
    handler: (request, h) => {
        balaba 。。。
        return 'xxx';
    }
});

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

查看回复

回复 (6)

A
axetroy#1·8 年前

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

[POST] /api/v1/login

[POST] /api/v2/auth/signin

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

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

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

L
linkenliu#3·8 年前

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

Y
yakczh#4·8 年前
引用 axetroy所以在 resful 设计上就要做好版本管理. v1 和 v2 路径可以完全不一样,同样的功能。这样做到 2 个版本同时存在。 即便用户不更新 App,还在用旧的 API 也没事。 所以,还在...

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

A
axetroy#5·8 年前

@yakczh

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

参与回复
登录后即可参与回复。登录