【问题标题】:How to invoke web api method from client side in asp.net core?如何在asp.net核心中从客户端调用web api方法?
【发布时间】:2019-09-14 05:04:08
【问题描述】:
我有一个示例 asp.net 核心应用程序,我在创建项目时选择了 MVC 模板。现在我添加了一个新的 API 控制器,如下所示。如何从 jquery 调用这个 web api?
我尝试了不起作用的“api/TestAPI/GetTest”。我得到 404 Not found 错误。感谢您的任何建议。
[Route("api/TestAPI")]
[ApiController]
public class TestAPIController : ControllerBase
{
[HttpGet]
public ActionResult GetTest()
{
return new OkResult();
}
}
【问题讨论】:
标签:
c#
jquery
asp.net-mvc
asp.net-web-api
asp.net-core
【解决方案1】:
您的问题与 asp net core 如何路由请求有关。如果您想使用操作方法的名称,您可以像之前在控制器上一样使用 Route 属性,但添加操作部分:
[Route("api/[controller]/[action]")]
public class TestAPIController : ControllerBase
【解决方案2】:
使用当前配置GET 请求带有api/TestAPI url 将命中GetTest 操作。如果你想使用api/TestAPI/GetTest url 添加GetTest 路由到操作
[HttpGet]
[Route("GetTest")]
public ActionResult GetTest()
{
return new OkResult();
}
或使用快捷方式
[HttpGet("GetTest")]
public ActionResult GetTest()
{
return new OkResult();
}