API版本控制和数据架构/业务逻辑更改

时间:2016-03-24 07:34:04

标签: api rest versioning

很想知道其他人如何处理这个问题,你有多个版本的API,以及如何管理这些不同版本所使用的数据。

通过示例更容易解释我当前的问题:

  1. / v1 / member / 123 / signin - >代表成员登录的第1版
  2. 现在我们有了新的功能来开发我们需要修改登录工作流程的地方,以执行以下操作:
    • 运行一些新的业务逻辑和奖励让我们为这个会员说徽章
    • 返回响应,其中包含JSON响应中的其他数据。
  3. 很快人们会说使用版本并制作这个新功能 / v2 / member / 123 / sigin 但是现在我不清楚如何管理不同版本之间的数据

    假设我们将其设为/ v2 / member / 123 / sigin,我们需要进行以下更改: 1.向Member表添加少量字段 2.如果会员符合商务规则,请更新登录工作流程以授予徽章 3.返回其他会员详细信息以及会员已获得的任何徽章。

    现在我的问题是,在为V1客户端构建JSON响应时,我需要确保不包含在Member表中添加的新字段或返回任何新类型,如徽章,因为V1不会知道该怎么办,最有可能打破,因为V1已经在生产中生效,无法处理它无法理解的任何内容,我们无法更新此应用。

    很少有人建议在数据库中对数据进行版本化。

    热衷于了解这种情况下的最佳做法是什么,其他人这样做是因为这是版本控制中的常见问题?

0 个答案:

没有答案