WebApi:使用方法名或者控制器名作为接口名称

时间:2016-06-23 09:57:06   收藏:0   阅读:1371

  今天遇到一个问题:新建的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的路由机制。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!