我有一个 MVC web api,它大部分使用以下标准路由:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
这驻留在WebApiConfig.cs
路由文件中。
但是,某些控制器上的某些操作可能需要在其路由上添加其他参数。
例如,aContentController
可能希望将附加参数传递给调用,例如:
routeTemplate: "api/{controller}/{Foo}/{action}/{Bar}/{id}"
或任何数量的其他配置。
理想情况下,如果我正在做这类事情,我希望能够在控制器本身中拼出那些特定于控制器的路由,而不是弄乱WebApiConfig.cs
文件。
这可能吗?它是如何完成的?这是个坏主意吗?