Я схожу с ума здесь ... это кажется очень простой задачей. Во-первых, я знаю только основы Web Api и MVC, поэтому, пожалуйста, не напугайте меня.Маршрутизация подпапки ASP.NET Web Api Controller
В проекте мне нужно логически создавать подпапки контроллера (для целей организации). У меня было ощущение, что это не так просто, как я думал. У меня есть маршрут по умолчанию следующим образом:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Работает как следует непосредственно из папки контроллеров в моем проекте. Я добавил подпапку в контроллерах/контроллерах папок контроллеров/отчетов. Я искал довольно много и просто не могу найти решение. Как добавить маршрут, который будет направляться в подпапку. Я пробовал:
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 }
Маршрутизация фактически не использует файловую систему, она направляется на действия контроллера. –
Но разве вам не нужно в какой-то момент указать путь, если контроллер находится в подпапке? Он не просто находит, что он это делает? –
По соглашению, структура ищет контроллеры в папке 'Controller', но помимо этого она не смотрит на пути. Зачем вам нужно создавать подпапку для каждого контроллера? Если вы хотите, вы можете играть с маршрутизацией, чтобы получить URL-адреса в самый раз, если это то, что вам нужно. –