mvc webapi路由重寫

修改app_start/webapiconfig.cs
web

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 }
            );
        }
    }
}

注意事項:api

一、能夠對某個action進行重寫,寫成任意格式的urlapp

二、必需要把重寫的action路由代碼,放到DefaultApi前面。函數

相關文章
相關標籤/搜索