没有找到与请求URI匹配的HTTP资源,在与该请求匹配的控制器上未找到任何操作

时间:2015-05-11 09:22:07

标签: ajax api url-routing

我已经找到了几个答案,但没有找到问题的答案。

我的ajax请求

$.ajax({     
 url: "api/Company/GetQuarters/" + STARTQ+ '/' + CURRQ,
 type: "GET",
 ...
});

我的api

    [HttpGet]
    public HttpResponseMessage GetQuarters(int start,int end)
    {
     ...
    }

路由

 routes.MapHttpRoute(
        "GetQuarters",
        "Company/GetQuarters/{start}/{end}",
        defaults: new { start = RouteParameter.Optional, end = RouteParameter.Optional });

我一直收到错误消息

错误消息

  

在控制器“公司”上找不到与之匹配的操作   请求。

我该如何解决?

编辑:项目结构是Test-> API-> CompanyAPI.cs;性能测试 - > Global.asax中 在Global.asax

 void RegisterRoutes(RouteCollection routes)
    {
      ....

     routes.MapHttpRoute(
            "API",
            "api/{controller}/{action}/{id}/",
            defaults:new { id = RouteParameter.Optional, Action="GET, POST"  });
    routes.MapHttpRoute(
            "GetQuarters",
            "Company/GetQuarters/{start}/{end}",
            defaults: new { start = RouteParameter.Optional, end=RouteParameter.Optional });
   ....

    }

控制器:

public class CompanyController : ApiController
{
 [HttpGet]
    public HttpResponseMessage GetQuarters(int start,int end)
    {
     ...
    }
}

1 个答案:

答案 0 :(得分:0)

我怀疑你的 GetQuarters 路线注册并不是以" api /"开始,即

routes.MapHttpRoute(
        "GetQuarters",
        "api/Company/GetQuarters/{start}/{end}",
        defaults: new { start = RouteParameter.Optional, end=RouteParameter.Optional });