配置路由到非默认函数

本文关键字:默认 函数 路由 配置 | 更新日期: 2023-09-27 18:06:57

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

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

不必做

Get()
{
    Read();
}

我也不想做/api/{controller}/{action}/{id}

我想/api/{controller}/{id}路由到用Read()方法代替Get()

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

配置路由到非默认函数

可以使用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();(更多信息请参阅文章)