Web API URL设计和实现

dab*_*abs 6 deployment routing asp.net-web-api

关于API网址设计的建议很常见,其中URL是"/ api/v1/resource"格式,然后当API更改时,我们可以更改为/ api/v2等.

现在,必须以某种方式实施.有很多选择:

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

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

此致,Daníel

Jos*_*h C 0

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

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

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