【问题标题】: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();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-24
        • 2018-06-15
        • 1970-01-01
        • 1970-01-01
        • 2022-01-19
        • 2021-08-20
        相关资源
        最近更新 更多