MAQNH

记录开发过程中的点点滴滴。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  今天遇到一个问题:新建的WebApi的项目生成的接口的地址都是以控制器的名字命名的,这样的话,在方法前添加ActionName就不起作用了,但之前一个项目是可以的。

  接口代码:

    public class ValuesController : ApiController
    {
        /// <summary>
        /// 接口地址测试
        /// </summary>
        /// <returns></returns>
        [System.Web.Http.ActionName("Rename")]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
    }

 

  生成的接口地址:

  

  折腾了一番,才想起来ASP.NET中有个叫路由的东西。OK,修改App_Start/WebApiConfig.cs

  修改前代码:

 routeTemplate: "api/{controller}/{id}",

  修改后代码:

routeTemplate: "api/{controller}/{action}/{id}",

  修改后的接口地址:

  

  有空研究一下MVC的路由机制。

posted on 2015-06-23 09:54  MAQNH  阅读(772)  评论(0编辑  收藏  举报