gpt4 book ai didi

asp.net-web-api - 实现 ASP.NET WebAPI 版本控制的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-05 00:00:05 26 4
gpt4 key购买 nike

版本 WebAPI 的最佳方法是什么?

我正在从头开始构建一个 API,我想确保它在 future 能够优雅地版本。我正在设想类似 mysite.com/api/v2/...

我看到的一种方法是为每个 API 版本创建一个单独的项目(Web 应用程序)。但也许有更好的方法来做到这一点?

谢谢你的想法。

最佳答案

在 URL 中包含版本号是我在这篇文章中解释的标准方法(我不重复内容):Implementing versioning a RESTful API with WCF or ASP.Net Web Api

尽管可以,但您不需要创建一个全新的项目。您将在单个项目中面临的问题是名称会发生​​冲突:

/api/v1.0/Car/123





/api/v2.0/Car/123



两者都将指向 CarController而你只能拥有其中之一。解决方案是实现您自己的 IHttpControllerSelector并注册到 DependencyResolver。此实现将查看版本号,并可能根据命名空间找到类型。

更新

我不打算在这里开始 REST 争议。但正如@DarrelMiller 指出的,这里有一个关于同一主题的较早讨论 气馁我建议的方法:

How to version REST URIs

我个人认为 URL 版本控制是要走的路。

关于asp.net-web-api - 实现 ASP.NET WebAPI 版本控制的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com