mvc webapi路由重写

2018-06-22 06:11:24来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:AngularJs创建自定义Service

下一篇:AngularJs的MVC模式