c#-MVC WebAPI中的MapRoute或MapHttpRoute
作者:互联网
由于WebApi路由映射可以通过MapHttpRoute完成:
myConfig.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我还需要使用MapRoute这样映射路线吗?
RouteTable.Routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
>第一个问题:如果我错了,请纠正我.我认为MapRoute仅用于支持MVC页面(例如帮助页面等)…因此,如果我不这样做
我的Api有任何MVC页面,我是否仍需要实施
route.MapRoute部分?
>第二个问题:如果我需要在我的Api中添加任何mvc页面(即帮助页面),可以通过MapHttpRoute完成
解决方法:
第一个问题
如果您不使用MVC,则不需要MapRoute
第二个问题
不会.MapHttpRoute将仅针对从ApiController派生的类(或IHttpController的实现中的动作方法)内的操作方法,但这在大多数情况下是从ApiController派生的高级情况.
另一方面,查看名称空间足够直观.
MapRoute是System.Web.Mvc命名空间中的RouteCollectionExtensions类的方法,有关更多信息,请参见this.
和
MapHttpRoute是System.Web.Http命名空间中的HttpRouteCollectionExtensions类的方法,有关更多信息,请参见this
这里的System.Web.Http与WebAPI相关.
标签:asp-net-web-api,asp-net-mvc-routing,c,asp-net-mvc 来源: https://codeday.me/bug/20191120/2040286.html