Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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# Rest API在控制器上未找到任何操作_C#_.net - Fatal编程技术网

C# Rest API在控制器上未找到任何操作

C# Rest API在控制器上未找到任何操作,c#,.net,C#,.net,我打电话给你的经验来帮助我解决一个问题。 我有以下代码: public class FanController : ApiController { [ActionName("ImportAwb")] [HttpPost] public async Task<object> ImportAwb([FromBody]JObject data) { try { string username = d

我打电话给你的经验来帮助我解决一个问题。 我有以下代码:

public class FanController : ApiController
{

    [ActionName("ImportAwb")]
    [HttpPost]
    public async Task<object> ImportAwb([FromBody]JObject data) 
    {
        try
        {
            string username = data["username"].ToString();
            string clientId = data["clientId"].ToString();
            string userPass = data["userPass"].ToString();
            string fisier = data["fisier"].ToString();

            var responseString = await FanCourier.ImportAwbIntegrat(username, clientId, userPass, fisier);
            return Ok(responseString);
        }
        catch (Exception ex)
        {
            return (ex);
        }
    }
我试图在
公共类FanController:ApiController
之前添加
[路由(“api/[控制器]”)”)
,错误更改为:

No action was found on the controller 'Fan' that matches the request.

我试图在互联网上找到一些东西,但我找不到任何有助于我的情况

您应该为每个操作定义路由,以便知道在调用特定API时将调用哪个

使用
[Route]
标记完成此操作

    [ActionName("ImportAwb")]
    [HttpPost]
    [Route("Action1")]
    public async Task<object> ImportAwb([FromBody]JObject data) 
    {
...
[ActionName(“ImportAwb”)]
[HttpPost]
[路线(“行动1”)]
公共异步任务ImportAwb([FromBody]作业对象数据)
{
...
从postman,调用url为的端点。
http://yoururl.com/Action1

(您的url将是为此控制器设置的路径…可能包括/api或您可能已配置的内容。将/Action1添加到该url的末尾)


只要它们是不同的方法(post、get、delete、patch等),您可以有多个到同一URL的路由。

您应该为每个操作定义路由,以便知道在调用特定API时将调用哪个

使用
[Route]
标记完成此操作

    [ActionName("ImportAwb")]
    [HttpPost]
    [Route("Action1")]
    public async Task<object> ImportAwb([FromBody]JObject data) 
    {
...
[ActionName(“ImportAwb”)]
[HttpPost]
[路线(“行动1”)]
公共异步任务ImportAwb([FromBody]作业对象数据)
{
...
从postman,调用url为的端点。
http://yoururl.com/Action1

(您的url将是为此控制器设置的路径…可能包括/api或您可能已配置的内容。将/Action1添加到该url的末尾)

只要是不同的方法(post、get、delete、patch等),您可以有多个指向同一URL的路由。

尝试直接在控制器的方法上使用[Route(“specific URL”)]属性。这会告诉aso.net正确映射URL和方法。尝试使用[Route(“specific URL”)]属性。这会告诉aso.net正确映射URL和方法。
    [ActionName("ImportAwb")]
    [HttpPost]
    [Route("Action1")]
    public async Task<object> ImportAwb([FromBody]JObject data) 
    {
...