首页 > 代码库 > mvc webapi路由重写

mvc webapi路由重写

修改app_start/webapiconfig.cs

using System.Web.Http;using System.Web.Routing;using Ninject;using TxMobile.Filters;using TxMobile.Models;using WebApiContrib.IoC.Ninject;namespace TxMobile{    /// <summary>    /// WebApi路由配置    /// </summary>    public static class WebApiConfig    {        /// <summary>        /// 构造函数        /// </summary>        /// <param name="config"></param>        public static void Register(HttpConfiguration config)        {            config.Filters.Add(new ValidateAttribute());            IKernel kernel = new StandardKernel();            kernel.Bind<ICommentRepository>().ToConstant(new InitialData());            config.DependencyResolver = new NinjectResolver(kernel);            config.Routes.MapHttpRoute(                name: "productlist",                routeTemplate: "{controller}/prod/list",                defaults: new { controller = "IAP", action = "ProductList" },                constraints: new { httpMethod = new HttpMethodConstraint("GET","Post") }            );            config.Routes.MapHttpRoute(                name: "productbuy",                routeTemplate: "{controller}/prod/buy",                defaults: new { controller = "IAP", action = "ProductBuy" },                constraints: new { httpMethod = new HttpMethodConstraint("GET","Post") }            );            config.Routes.MapHttpRoute(                name: "DefaultApi",                routeTemplate: "{controller}/{action}/{id}",                defaults: new { id = RouteParameter.Optional }            );        }    }}

注意事项:

1、可以对某个action进行重写,写成任意格式的url

2、必须要把重写的action路由代码,放到DefaultApi前面。

mvc webapi路由重写