Rails 请教做手机服务端 API 时,如何支持不同版本。

dexterdeng · 2012年10月05日 · 最后由 dexterdeng 回复于 2012年10月08日 · 4069 次阅读

我们在做手机应用时 , 随着手机客户端的不断更新, api 服务端也需要不断更新, 但是并不能保证每个用户都会及时更新他的 app 客户端。 所以, 服务端就存在同时需要兼顾不同旧版本 api 的需求。 简单说,就是如果我们的 API 有 V1, V2, V3, ... 不同版本, 有什么 best practices 能让所有这些版本同时都 work?

我想肯定不会事一个 version,一个 instance, 所有东西放在一个 instance 里, 新版本又很容易影响旧版本。 希望有经验的同学不吝赐教。

放在不同的 scope 下,比如:/v1/posts.json, /v2/posts.json 你代码是分离的,所以当然是可以同时工作的,互不影响...

你新版本就让新客户端请求 /v2. 老的应该还是走的 v1... 如果老的没设,你默认设置为 走 v1...

压力大的话在架构调整时,物理上也可以考虑分离,比如所有老版本用一组服务器,新版本用一组服务器,保证不会相互干扰

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