6

看到关于 API url 设计的建议是很常见的,其中 URL 采用“/api/v1/resource”格式,然后当 API 更改时,我们可以更改为 /api/v2 等。

现在,这必须以某种方式实现。有多种选择:

  • 将项目部署在 Web 服务器的根目录,并让路由规则负责处理 /api/v1 部分
  • 将项目部署在 /api/ 子文件夹(虚拟目录)中,路由规则负责 /v1、/v2 等部分,但不知道 URL 的 /api/ 部分。
  • 将项目部署在 /api/v1 子文件夹(虚拟目录)中。新版本的 API 完全是一个新项目,单独部署。该项目严格将资源作为根概念处理,但通常不了解 /api/vX 部分。

那么,您会选择哪种方法,为什么?

问候,丹尼尔

4

1 回答 1

0

我已将我的项目部署在子文件夹的根目录,并让我的路由规则处理版本控制路由。如果我想部署到不支持我的实现方法的环境,我希望我的实现尽可能少地依赖于我的托管环境。

SDammann.WebApi.Versioning是我用来在我的一个应用程序中实现这一目标的解决方案。

然而,ASP.NET 和 Visual Studio 2013 版本的 Web 工具将使这变得更加容易。

于 2013-10-05T06:08:15.597 回答