Is it possible in MVC 4 to give a method a longer route than just /{controller}/{method}?
That is, how could I have a method "test", and have it's path be /{controller}/api/test?
Is it possible in MVC 4 to give a method a longer route than just /{controller}/{method}?
That is, how could I have a method "test", and have it's path be /{controller}/api/test?
您可以通过在项目的 Global.asax.cs 文件中修改“RegisterRoutes()”来注册其他路由。
例如:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"YourNewRoute", // Route name
"{controller}/api/{action}", // URL with parameters
new { controller = "YourController", action = "Test" } // Parameter defaults
);
}
现在,如果您输入:
你的控制器/api/测试
(注意路径中存在“api”)
它会调用:
控制器 = 你的控制器
行动 = 测试
您可以在本教程中找到有关路线的更多信息。
是的。只需在一般路由之前定义 api/test 路由,/{controller}/{method}
以便 api/test 路由在一般路由之前启动。
注意:定义 /api/test 时,您需要指定默认操作方法。
另外,你在使用 WebAPI 吗?