0

我有一个 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文件。

这可能吗?它是如何完成的?这是个坏主意吗?

4

1 回答 1

0

如果马克琼斯把这个作为答案而不是评论,我就可以给他积分。但我不能,但这个问题应该在解决后关闭。答案是

您可能想使用基于属性的路由。请参阅此处的 attributerouting.net。

http://attributerouting.net

于 2013-02-28T16:11:59.220 回答