ASP.NET Web Api Controller子文件夹路由

时间:2013-10-09 20:34:38

标签: asp.net asp.net-mvc asp.net-web-api

我在这里疯了......这似乎是一项非常简单的任务。首先,我只知道Web Api和MVC的基础知识 - 所以请不要吝啬我。

在项目中,我需要逻辑创建控制器子文件夹(用于组织目的)。我感觉它并不像我想象的那么简单。我有这样的默认路线:

config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

它直接来自我项目中的controllers文件夹。我在控制器文件夹controller / reports中添加了一个子文件夹。我搜索了很多,但是找不到解决方案。如何添加将指向子文件夹的路由。 我试过了:

 config.Routes.MapHttpRoute(
            name: "ReportingApi",
            routeTemplate: "api/Reports/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }

 config.Routes.MapHttpRoute(
            name: "ReportingApi",
            routeTemplate: "api/Reports/{id}",
            defaults: new { controller = "userunit" id = RouteParameter.Optional }

1 个答案:

答案 0 :(得分:5)

没关系我是个白痴......我离开了默认路线,删除了网址中的“报告”。它找到了控制器,即使它在子文件夹中。