【发布时间】:2014-05-20 13:51:47
【问题描述】:
我的WebApi.config 看起来像这样:
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
这意味着它是configured to support both attribute based routing and conventional routing。
然后创建了示例控制器:
[RoutePrefix("v1")]
public class Values1Controller : ApiController
{
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
[Route("products")]
public string Get(int id)
{
return "value";
}
}
当我调用http://localhost.domain/api/values1/v1/ 时,响应为value1, value2
但是,当我尝试调用http://localhost.domain/api/values1/v1/products/1 时(注意public string Get(int id) 方法上的products 属性路由,没有命中断点。
也就是说,如何调用public string Get(int id)方法,上面有属性路由Route(products)?
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-web-api asp.net-mvc-routing