我正在迁移一个 WebApi 项目(从预览版,即 WCF WebApi 到最终版本,即 ASP.NET MVC4 WebApi)。
在 WCF WebApi 中,为所有服务操作定义了 URI 模板,例如:
[WebGet(UriTemplate = "{movieGenreId}/movies")]
光是我介意我在这个项目中有几十个。如何在无需在路由表中注册数十个条目的情况下将其转换为 MVC4 WebApi?
我正在迁移一个 WebApi 项目(从预览版,即 WCF WebApi 到最终版本,即 ASP.NET MVC4 WebApi)。
在 WCF WebApi 中,为所有服务操作定义了 URI 模板,例如:
[WebGet(UriTemplate = "{movieGenreId}/movies")]
光是我介意我在这个项目中有几十个。如何在无需在路由表中注册数十个条目的情况下将其转换为 MVC4 WebApi?
您可以使用 Web API 项目的优秀属性路由:
这是 GitHub 上的源代码(MVC 和 Web API) - https://github.com/mccalltd/AttributeRouting
这是 Web API 中属性路由的简短介绍 - http://www.strathweb.com/2012/05/attribute-based-routing-in-asp-net-web-api/
这是属性路由 Web API 包的 Nuget - http://nuget.org/packages/AttributeRouting.WebApi/3.1.2
将 UriTemplates 转换为属性路由应该几乎与搜索和替换一样简单。
如果您不愿意在项目中包含属性路由库,那么不幸的是,唯一的另一种方法是 - 正如您所说 - 注册数十条路由。