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

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

文章来自:http://www.cnblogs.com/MQNH/p/5609550.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3