我有一个MVC web api,大部分都使用标准路径:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
它位于WebApiConfig.cs
路由文件中。
某些控制器上的某些操作可能需要在其路径上添加其他参数。
例如,ContentController
可能需要传入调用的附加参数,如:
routeTemplate: "api/{controller}/{Foo}/{action}/{Bar}/{id}"
或任何其他配置。
理想情况下,如果我正在做这类事情,我希望能够在控制器本身中拼写出那些特定于控制器的路由,而不是使WebApiConfig.cs
文件混乱。
这可能吗?怎么做?这是一个坏主意吗?
答案 0 :(得分:0)
如果马克琼斯做出这个答案而不是评论,我就可以给他积分。但我不能,但这个问题应该被解决。答案是
您可能希望使用基于属性的路由。看这里 attributerouting.net。