【问题标题】:Web API URL design and implementationWeb API URL设计与实现
【发布时间】:2013-10-10 17:18:42
【问题描述】:

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

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

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

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

问候, 丹尼尔

【问题讨论】:

    标签: deployment routing asp.net-web-api


    【解决方案1】:

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

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

    不过ASP.NET and Web Tools for Visual Studio 2013 Release 会让这一切变得更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-12
      • 2011-05-23
      • 2020-09-18
      相关资源
      最近更新 更多