支持Web API的通用路由

时间:2015-07-22 08:02:16

标签: asp.net-web-api asp.net-web-api2 asp.net-web-api-routing

我正在使用Web Api 2.2,我正在努力实现以下目标: 我有几个控制器,我想要一个看起来像的全局路线 controller / {controller} / action / {action} - 我想要特定的方法来捕获调用,无论是在POST还是GET(包括其参数)。

例如:

HTTP POST    /controller/users/action/getuser
{"user_id": 1234}

HTTP GET    /controller/users/action/getuser?user_id=1234

其中方法定义为WITHOUT route:

public User getuser(int user_id)
{
...
}

我无法实现这一目标。 非常感谢协助。 TNX

1 个答案:

答案 0 :(得分:0)

您可以在App_Start中设置默认路线 - > RouteConfig.cs

在RegisterRoutes方法下,应该有一个默认的路由设置器。 你想设置类似的东西:

routes.MapRoute(
            name: "Default",
            url: "controller/{controller}/action/{action}",
            defaults: new { controller = "Home", action = "Index" }
        );