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前面。

上一篇:CSS3学习笔记--transform基于原始数据(旋转木马实例)


下一篇:【C#】 WebApi 路由机制剖析