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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM