今天遇到一个问题:新建的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的路由机制。
时间: 2024-10-29 19:09:40