我看不到版本化我的网络API的好处? [关闭]

问题描述 投票:-2回答:1

我为什么要对我的网络API进行版本控制?我真的不明白为什么我应该这样做。

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

在本文中,作者为版本1创建了一个名为GetV1_0的方法。然后再次基本创建相同的方法,但是将方法重命名为GetV1_1版本1.1。为什么?我为什么要这样做?为什么不在没有任何版本控制的情况下更改第一个?

任何人都可以获得一些好处,为什么我应该这样做,而不是只是更新方法,如果应该添加任何新的?

c# asp.net-web-api software-design
1个回答
0
投票

它在您链接到的article的第一段中解释:

使用您的API的客户希望它不会更改。否则,他们的代码可能会因更改合同或行为而失败。但是需求会发生变化,我们需要找到一种在不破坏现有客户端的情况下发展API的方法。因此,每当发生重大API更改时,您都需要发布新版本的API。这并不意味着您需要永远支持所有版本。但是你需要谨慎地摆脱旧版本的API,以便客户知道如何迁移到更新版本的API。

想象一下,您编写一个API供其他人编写的软件使用。他们只能在新版API发布后开始开发新版本的软件。但他们不希望现有应用程序在适应新API时中断。

我想你可以发布一个其他人可以测试的测试版本,然后只有在每个人都迁移后才会发布,但这种策略并不能很好地适应许多用户。

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

© www.soinside.com 2019 - 2024. All rights reserved.