为什么默认的网络API 2 HTTP路由不包含{action}
:为什么默认的HTTP路线不包含{行动}
从Microsoft样本:
// 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
非常感谢!
因为在该模式下,方法通过Http Verbs(Get,POST,PUT)和参数进行匹配。您可以添加'{action}',然后通过方法名称匹配。 – user3185569