如何在asp.net核心中从客户端调用web api方法?

Posted

技术标签:

【中文标题】如何在asp.net核心中从客户端调用web api方法?【英文标题】:How to invoke web api method from client side in asp.net core? 【发布时间】: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();
    
 

【问题讨论】:

【参考方案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();

【讨论】:

以上是关于如何在asp.net核心中从客户端调用web api方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net 核心中从返回零计数的主体正确映射数组

如何在 asp.net 中从 javascript 调用代码隐藏函数?

收到错误“JSONP 注入脚本未调用回调。”使用 Angular 2 和服务器 ASP.NET 核心

如何从 ASP.NET 核心 mvc 向 asp.net 核心中的 Web API 发出 PUT 请求?

如何在 asp.net Web 应用程序中从条码标签打印机打印条码

防止在 ASP.Net Web 窗体中从外部源触发电子邮件