C#MVC动态控制器到一个控制器

时间:2017-11-22 17:13:37

标签: c# asp.net-mvc controller routing

我想将所有api调用路由到一个控制器。我使用MVC,我想做的是拥有动态端点,所以基本上你使用的url将指向一个执行逻辑的控制器。让它变得更棘手的是我想知道正在调用哪个控制器,例如,如果有一个Get at:" https:// {url} / project / id"我希望它指向我的动态"控制器并有"项目"作为参数(或可以告诉我使用了什么端点的东西),所以我知道调用哪个控制器。

我知道这不是设置API的好方法,但目前这似乎最符合我们的需求。

[编辑] 我看到ive搞砸了我的问题,因为我混淆了MVC控制器和ApiController。我最终在这个帖子中使用了答案:Route all Web API requests to one controller method

1 个答案:

答案 0 :(得分:0)

在Asp.Net MVC中,您可以将路由到例如

之类的自定义错误页面
routes.MapRoute("NotFound", 
                "{*url}", 
                new { controller = "Error", action = "PageNotFound" });

所以稍微重命名就好像是

 routes.MapRoute("AllRequests", 
                 "{*url}", 
                 new { controller = "Dynamic", action = "Dynamic" });

这就是你想要的吗?