确保控制器类和API的路由匹配以及HTTP请求方法正确
在ASP .NET Core中,控制器类必须显式地指定路由才能够被API调用找到。如果控制器类未指定路由或路由错误,则API调用将无法找到该控制器类,导致“Api Call not Found”的错误。
此外,还需要确保API请求的HTTP方法与控制器类中定义的方法匹配。如果定义的方法是GET,但API请求的方法是POST,则API调用同样会无法找到控制器类。以下是示例代码,演示如何正确定义控制器类和API路由以避免上述问题:
控制器类示例代码:
[ApiController]
[Route("api/[controller]")]
public class MyController : ControllerBase
{
[HttpGet("{id}")]
public IActionResult Get(int id)
{
// Controller code here
}
}
API路由示例代码:
[HttpGet("api/my/{id}")]
public IActionResult GetData(int id)
{
// API code here
}
在此示例中,控制器类名为“MyController”,路由定义为“api/My”,用于处理HTTP GET请求。API路由定义为“api/my/{id}”,也是HTTP GET请求,与控制器类的定义相对应。
确保控制器类和API路由匹配以及HTTP请求方法正确,可以避免ASP .NET Core Controller无法被API调用找到的问题。