您将如何为Web api 2.2解决方案处理此特定的api补丁版本控制?

时间:2018-07-13 22:04:21

标签: c# .net asp.net-web-api versioning semantic-versioning

Google使用以下API版本控制策略:

  • 进行不兼容的API更改时的主要版本,
  • 以向后兼容的方式添加功能时的MINOR版本
  • 进行向后兼容的错误修复时的PATCH版本。

https://cloud.google.com/apis/design/versioning

NuGet软件包也建议使用这种类型的语义版本控制(https://semver.org/)。您是否在Web API 2.2中使用这种类型的策略,如果是,那么如何配置Web API解决方案来解决此问题?例如,对于v2,我的控制器装饰器如下所示:

[ApiVersion("2.0")]
[ControllerName("User")]
[RoutePrefix("api/v{version:apiVersion}/users")]

但是,我们在1.0版和2.0版之间进行了很多更改,因此我只是将所有对象复制到v2子目录中,并从控制器进行了适当的重定向。但是,我不确定API修补程序版本控制方案的最佳方法是什么。您能否提供一个示例,说明在假定标准分层体系结构的情况下如何处理以下情况?

  • InsuranceEstimateApi当前存在v2目录结构
  • CalulatorRepository()。Calculate()方法具有针对子例程的错误修复(修补程序),因此,根据语义版本控制,应配置版本2.0.1。

您将如何在Web API 2.2解决方案中配置版本2.0.1来处理此补丁?

0 个答案:

没有答案