部署 客户端迭代,后端 API 应如何做兼容?

Insub · 2018年02月03日 · 最后由 Insub 回复于 2018年02月06日 · 1756 次阅读

客户端迭代的时候,全网发布到位是有一个时间的,而此时后端接口相应的迭代与上一个版本又有比较大的差异,请问这时候应该如何处理才能让客户端所有用户平滑过渡?

技术成本比较低,比较简便的方案又是什么呢?

新加一个接口,同时维护两套。

一般有较大差异的 API 都会引入版本的概念,比如发布出去的是 v1,接下来要做大变动的是 v2,你可以以 api versioning 为关键词,Google 看看

接口版本升级 + APP 强制更新

menghuanwd 回复

对头

前端请求都会在 header 上带上 App 的版本号,后台会在处理请求前判断,如版本不兼容的统一返回 500 与错误代号,App 接收到这个错误代号会弹出相应的更新提示,版本一般通过路径中的 v1 v2 区分。

上面已经说得差不多了,我补充一点。对于一些小修改不需要频繁发布大版本,只要不改 payload 属性名称和值类型一般不会破坏客户端应用。可以新增属性或 API,然后在客户端的新版本里使用,冗余部分积累到下个大版本一起清理掉。

如果版本迭代特别频繁,比如三天一个迭代,而且每次改动虽然不大,但会实质性影响到某几个功能的使用,这种情况,v1 / v2 版本感觉就不合适了,这种情况又怎么办呢?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号