Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net内核中从客户端调用web api方法?_C#_Jquery_Asp.net Mvc_Asp.net Web Api_Asp.net Core - Fatal编程技术网

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

C# 如何在asp.net内核中从客户端调用web api方法?,c#,jquery,asp.net-mvc,asp.net-web-api,asp.net-core,C#,Jquery,Asp.net Mvc,Asp.net Web Api,Asp.net Core,我有一个asp.net核心应用程序示例,在创建项目时选择了MVC模板。现在我添加了一个新的API控制器,如下所示。如何从jquery调用这个web api 我尝试了“api/TestAPI/GetTest”,但它不起作用。我得到404找不到错误。谢谢你的建议 [Route("api/TestAPI")] [ApiController] public class TestAPIController : ControllerBase { [HttpGet] public Actio

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

我尝试了“api/TestAPI/GetTest”,但它不起作用。我得到404找不到错误。谢谢你的建议

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

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

使用当前配置
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 core如何路由请求有关。如果您想使用操作方法的名称,可以通过不同的方式配置如何处理控制器中操作的请求(有关更多信息,请访问此页),您可以像以前一样在控制器上使用
路由
属性,但添加动作部分:

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