如何从ASP.NET Core的客户端调用Web api方法?

时间:2019-04-24 20:10:51

标签: c# jquery asp.net-mvc asp.net-web-api asp.net-core

我有一个示例asp.net核心应用程序,并且在创建项目时选择了MVC模板。现在,我添加了一个新的API控制器,如下所示。如何从jquery调用此网络api?

我尝试了不起作用的“ api / TestAPI / GetTest”。我收到404未找到错误。感谢您的任何建议。

[Route("api/TestAPI")]
[ApiController]
public class TestAPIController : ControllerBase
{
    [HttpGet]

    public ActionResult GetTest()
    {
        return new OkResult();
    }
 }

2 个答案:

答案 0 :(得分:1)

在当前配置为GET的URL中,请求api/TestAPI会执行GetTest动作。如果您想使用api/TestAPI/GetTest网址,请添加GetTest到操作的路由

[HttpGet]
[Route("GetTest")]
public ActionResult GetTest()
{
    return new OkResult();
}

或使用快捷方式

[HttpGet("GetTest")]
public ActionResult GetTest()
{
    return new OkResult();
}

答案 1 :(得分:1)

您的问题与asp net core如何路由请求有关。有多种方法可以配置如何处理对控制器中的操作的请求(有关更多信息,请访问此link),以防万一。使用操作方法的名称,可以像以前一样在控制器上使用Route属性,但要添加操作部分:

[Route("api/[controller]/[action]")]
public class TestAPIController : ControllerBase