我已经使用路由设置了一个 asp.net web api 项目(它与 Mvc 项目完全相同) - 因此我有以下内容
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
所以一切都按我想要的方式工作....我输入 api/Products/15 它到达我的产品控制器,传入 15 作为 id。
伟大的。
我还有 2 个控制器,1 个称为 UploadsController,1 个称为 DownloadsController。这些提供上传和下载(GET / PUT 等)
现在我不希望他们被原始规则所接受(见上文)
但我想要的是使用这 2 个 url 来访问它们
/api/Transport/Uploads/15 /api/Transport/Downloads/15
我已经通过了 15 作为 ID,在现实生活中可能不会发生......只是它有利于演示 :-)
现在运输不存在所以我可以做以下
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/Transports/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我相信这有效...
但问题是,如果我这样做
/api/Uploads/15 - 这也会被我不想要的原始规则捕获..
我希望通过假的“传输”而不是没有传输来访问 Uploads 和 Downloads 控制器
任何人都可以帮忙吗?
提前致谢