Я настроил проект веб-API asp.net (он работает точно так же, как проект Mvc) с использованием маршрутизации - следовательно, у меня есть следующее
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
] Итак, все работает именно так, как я хочу.... Я ввожу api/Products/15, и он поступает в мой контроллер продуктов, передавая в качестве идентификатора 15.
Отлично.
У меня также есть еще 2 контроллера, 1 называется UploadsController и 1 называется DownloadsController.Они предлагают загрузку и загрузку (GET / PUT и т. д.)
Теперь я не хочу, чтобы они подхватывались исходным правилом (см. выше)
Но я хотел бы использовать эти 2 URL-адреса для доступа к ним.
/api/Транспорт/Загрузки/15 /api/Transport/Downloads/15
Я передал 15 в качестве идентификатора, вероятно, не произойдет в реальной жизни... просто это хорошо для демонстрации :-)
Теперь транспорта не существует, поэтому я мог бы сделать следующее
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/Transports/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
, которое, я считаю, работает...
, но проблема в том, что если я сделаю
/api/Uploads/15 - это также будет поймано исходным правилом, которое я не хочу ..
Я хочу, чтобы к контроллеру Uploads и DOwnloads обращались через фейковые "Транспорты" а не без Транспортов
Может кто поможет?
Заранее спасибо