MVC WebAPI 中的 MapRoute 或 MapHttpRoute
MapRoute or MapHttpRoute in MVC WebAPI
因为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 页面,我还需要实施吗
routes.MapRoute部分?
第二个问题:如果我需要将任何 mvc 页面添加到我的 Api(即帮助页面),可以通过 MapHttpRoute
第一题
如果您不使用 MVC,则不需要 MapRoute
第二题
没有。 MapHttpRoute 将仅针对从 ApiController 派生的 classes 内的操作方法(或 IHttpController 的实现,但大多数情况下这是一个高级场景,您将从 ApiController 派生)。
另一方面,查看命名空间就足够直观了。
MapRoute
是 class RouteCollectionExtensions 的一种方法,它位于 System.Web.Mvc 命名空间中,请参阅 this 了解更多信息
和
MapHttpRoute
是 class HttpRouteCollectionExtensions 的一种方法,它位于 System.Web.Http 命名空间中,请参阅 this 了解更多信息
此处System.Web.Http与WebAPI相关
因为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 页面,我还需要实施吗 routes.MapRoute部分?
第二个问题:如果我需要将任何 mvc 页面添加到我的 Api(即帮助页面),可以通过 MapHttpRoute
第一题
如果您不使用 MVC,则不需要 MapRoute
第二题
没有。 MapHttpRoute 将仅针对从 ApiController 派生的 classes 内的操作方法(或 IHttpController 的实现,但大多数情况下这是一个高级场景,您将从 ApiController 派生)。
另一方面,查看命名空间就足够直观了。
MapRoute
是 class RouteCollectionExtensions 的一种方法,它位于 System.Web.Mvc 命名空间中,请参阅 this 了解更多信息
和
MapHttpRoute
是 class HttpRouteCollectionExtensions 的一种方法,它位于 System.Web.Http 命名空间中,请参阅 this 了解更多信息
此处System.Web.Http与WebAPI相关