我看不到对Web API进行版本控制的好处吗?

时间:2018-09-05 09:43:16

标签: c# asp.net-web-api software-design

为什么要对Web API进行版本控制?我真的不明白为什么要这么做。

我已经阅读了这篇文章:https://vladsukhachev.wordpress.com/2016/12/12/web-api-versioning-in-real-world-applications/

在本文中,作者为版本1创建了一个名为GetV1_0的方法。然后,又重新创建了相同的方法,但对于版本1.1,将该方法重命名为GetV1_1。为什么?我为什么要这样做?为什么不更改没有任何版本的第一个?

任何人都可以从中受益,为什么我应该这样做,而不是仅在需要添加新内容的情况下才更新方法?

1 个答案:

答案 0 :(得分:0)

在您链接到的article的第一段中对此进行了解释:

  

使用您的API的客户希望它不会更改。否则他们的   代码可能因更改合同或行为而失败。但是要求   会发生变化,我们需要找到一种方法来发展API,而无需   打破现有客户。因此,每当API发生重大变化时,   如果发生这种情况,您需要发布新版本的API。那不代表   您需要永久支持所有版本。但是你需要摆脱   API的旧版本时要格外小心,以便客户了解如何   转移到新版本的API。

想象一下您编写一个供其他人编写的软件使用的API的情况。他们只有在发布API的新版本后才能开始开发其软件的新版本。但是他们不希望现有的应用程序在适应您的新API的同时就被破坏。

我想您可以发布一个可供其他人测试的测试版本,然后仅在每个人迁移后才发布,但是这种策略在许多用户中无法很好地扩展。

通过对您的API调用进行版本控制,这些其他人的现有应用程序可以继续运行,而他们可以开发可在您API的新版本上使用的新版本。