配置路由到默认功能以外的功能

时间:2014-06-04 17:41:10

标签: c# asp.net asp.net-mvc asp.net-mvc-4

在我的控制器类中,我实现了我的接口,控制器类是ApiController的子类

我有一个名为Read的API方法。 我希望默认的Get()调用Read()。

无需做

Get()
{
    Read();
}

另外,我不想做/ api / {controller} / {action} / {id}

我希望/ api / {controller} / {id}能够路由到 Read()方法而不是Get()

问题是: 假设我有一个名为Devices的控制器。当对/ api / Devices / heppens发出GET请求时,我希望它调用我的特定方法而不是APIController的Get()方法。

1 个答案:

答案 0 :(得分:0)

您可以使用ASP.NET Web API属性路由! (http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

[HttpGet]
[Route("api/MyController/MyAction")]
public string Read() {
   return "You issued a GET request to the Read method";
}

您可以使用路线做任何您想做的事情,只需确保在WebApiConfig中映射路线,如下所示:config.MapHttpAttributeRoutes();(有关详细信息,请参阅文章)。