这两者有什么区别?我知道如何在 ASP.NET Core 中进行版本控制,最近我在 API 管理中发现了该版本,并想知道如何实现它或选择其中之一。
我搜索 API 管理文档,似乎它与 ASP.NET Core 具有相同的实现、版本控制方案。
您完全正确,您可以使用 Azure API 管理 (APIM) 和直接在应用程序中使用 ASP.NET core 来版本化 API。 有时,对两者进行版本调整甚至是有意义的。 我想说,如果您认为需要版本控制但不确定从哪里开始,请使用 ASP.NET Core 中的版本控制。 如果您后来发现您的用例实际上要复杂得多,您可能还想使用 API 管理。
适合当您正在构建一个由您控制且将由其他服务调用的简单 API 应用程序时。假设您正在为您的工作场所构建此应用程序,另一个团队将使用您的 API,但它不会在您的工作场所组织之外使用。那么应用程序代码中的版本控制就有意义了,因为它允许您改进 API,而不会为消费者破坏 API,并且依赖于另一个会增加复杂性、管理开销和潜在成本(取决于 SKU)的云服务。
作为示例,您的网址可能看起来像这样:
myapiapp.azurewebsites.net/v1/domain
myapiapp.azurewebsites.net/v2/domain
myapiapp.azurewebsites.net/v3/domain
使用 API 管理和 ASP.NET Core 对 API 进行版本控制
myapiapp.azurewebsites.net/v3/domain
otherteamapiapp.azurewebsites.net/v1/someotherdomain
它可能看起来像这样通过 APIM 公开:
api.kan-company/v1/domain
api.kan-company/v1/someotherdomain
何时仅通过 API 管理进行版本控制