为什么默认的http路由不包含{action}

时间:2016-09-13 08:20:18

标签: c# .net asp.net-web-api routing asp.net-web-api2

为什么默认的Web Api 2 http路由不包含{action}

来自微软样本:

// Configure Web API for self-host. 
HttpConfiguration config = new HttpConfiguration(); 
config.Routes.MapHttpRoute( 
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

为什么它看起来不像这样:

// Configure Web API for self-host. 
HttpConfiguration config = new HttpConfiguration(); 
config.Routes.MapHttpRoute( 
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{action}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

为什么行动部分不是正确路由所必需的?

代码是rom http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api

非常感谢!

1 个答案:

答案 0 :(得分:1)

示例中的操作是隐式匹配的。如果你看,它们都是不同的HTTP动词。