MVC 4中是否可以为方法提供比/ {controller} / {method}更长的路径?
也就是说,我怎么能有一个方法“test”,并且它的路径是/ {controller} / api / test?
答案 0 :(得分:2)
您可以通过修改项目的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
);
}
现在,如果您输入:
YourController / API /测试
(注意路径中存在“api”)
它会打电话:
controller = YourController
动作=测试
您可以在此tutorial找到有关路线的更多信息。
答案 1 :(得分:1)
是的。只需在通用/{controller}/{method}
之前定义api / test路由,以便api / test路由在一般路由之前启动。
注意:定义/ api / test时,您需要指定默认操作方法。
另外,您使用的是WebAPI吗?