【发布时间】:2015-08-18 21:32:49
【问题描述】:
我有一个 Api 控制器,它有两个不同的动作,它们采用不同的参数类型。
// GET: users/sample%40email.com
[Route("users/{emailAddress}")]
public IHttpActionResult GetUser(string emailAddress)
// GET: users/1D8F6B90-9BD9-4CDD-BABB-372242AD9960
[Route("users/{reference}")]
public IHttpActionResult GetUserByReference(Guid reference)
问题是当我向其中一个请求时发现多个操作匹配。查看其他答案,我认为我需要像这样在 WebApiConfig 中设置路由......
config.Routes.MapHttpRoute(
name: "apiEmail",
routeTemplate: "api/{controller}/{action}/{email}"
);
config.Routes.MapHttpRoute(
name: "apiReference",
routeTemplate: "api/{controller}/{action}/{reference}"
);
我需要做什么才能根据我传入的参数类型调用每个操作?
我对 Web.Api 非常陌生,如果有任何额外的解释文本,我将不胜感激。
【问题讨论】:
标签: asp.net-mvc-5 asp.net-mvc-routing asp.net-web-api asp.net-web-api-routing