为什么要对Web API进行版本控制?我真的不明白为什么要这么做。
我已经阅读了这篇文章:https://vladsukhachev.wordpress.com/2016/12/12/web-api-versioning-in-real-world-applications/
在本文中,作者为版本1创建了一个名为GetV1_0的方法。然后,又重新创建了相同的方法,但对于版本1.1,将该方法重命名为GetV1_1。为什么?我为什么要这样做?为什么不更改没有任何版本的第一个?
任何人都可以从中受益,为什么我应该这样做,而不是仅在需要添加新内容的情况下才更新方法?
答案 0 :(得分:0)
在您链接到的article的第一段中对此进行了解释:
使用您的API的客户希望它不会更改。否则他们的 代码可能因更改合同或行为而失败。但是要求 会发生变化,我们需要找到一种方法来发展API,而无需 打破现有客户。因此,每当API发生重大变化时, 如果发生这种情况,您需要发布新版本的API。那不代表 您需要永久支持所有版本。但是你需要摆脱 API的旧版本时要格外小心,以便客户了解如何 转移到新版本的API。
想象一下您编写一个供其他人编写的软件使用的API的情况。他们只有在发布API的新版本后才能开始开发其软件的新版本。但是他们不希望现有的应用程序在适应您的新API的同时就被破坏。
我想您可以发布一个可供其他人测试的测试版本,然后仅在每个人迁移后才发布,但是这种策略在许多用户中无法很好地扩展。
通过对您的API调用进行版本控制,这些其他人的现有应用程序可以继续运行,而他们可以开发可在您API的新版本上使用的新版本。