无法访问 .NET Core Web 中的路由 API
Unable to access the route in .NET Core Web API
我正在尝试从以下代码访问路线:
[ApiController]
[Route("{api/{controller}")]
public class HomeController : ControllerBase
{
[HttpGet]
[Route("/{action}")]
public IActionResult Employees()
{
return Ok("All Employees");
}
}
当我尝试使用 url
访问时
https://localhost:44381/api/Home/Employees
我收到 url 未找到错误。我的路由有误吗?
您可以在您的 Action 上指定特定的路由,或者在 class 上指定您的路由规则,如下所示:
[ApiController]
[Route("api/{controller}/{action}")]
public class HomeController : Controller
{
[HttpGet]
public IActionResult Index()
{
return Ok("All Test");
}
[HttpGet]
public IActionResult Employees()
{
return Ok("All Employees");
}
}
或:
[ApiController]
[Route("api/{controller}")]
public class HomeController : Controller
{
[HttpGet]
[Route("Index}")]
public IActionResult Index()
{
return Ok("All Test");
}
[HttpGet]
[Route("Employees")]
public IActionResult Employees()
{
return Ok("All Employees");
}
}
结果:
更多用法请参考这篇文章:
https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api
如果您在 api 方法中覆盖路由
你必须为此遵循新路线
在你的情况下 link 将是
https://localhost:44381/Employees
我正在尝试从以下代码访问路线:
[ApiController]
[Route("{api/{controller}")]
public class HomeController : ControllerBase
{
[HttpGet]
[Route("/{action}")]
public IActionResult Employees()
{
return Ok("All Employees");
}
}
当我尝试使用 url
访问时https://localhost:44381/api/Home/Employees
我收到 url 未找到错误。我的路由有误吗?
您可以在您的 Action 上指定特定的路由,或者在 class 上指定您的路由规则,如下所示:
[ApiController]
[Route("api/{controller}/{action}")]
public class HomeController : Controller
{
[HttpGet]
public IActionResult Index()
{
return Ok("All Test");
}
[HttpGet]
public IActionResult Employees()
{
return Ok("All Employees");
}
}
或:
[ApiController]
[Route("api/{controller}")]
public class HomeController : Controller
{
[HttpGet]
[Route("Index}")]
public IActionResult Index()
{
return Ok("All Test");
}
[HttpGet]
[Route("Employees")]
public IActionResult Employees()
{
return Ok("All Employees");
}
}
结果:
更多用法请参考这篇文章: https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api
如果您在 api 方法中覆盖路由 你必须为此遵循新路线 在你的情况下 link 将是
https://localhost:44381/Employees