繁体   English   中英

在 WebAPI 和 AngularJS 中出现错误:“未找到与请求 URI 匹配的 HTTP 资源”

[英]Getting the error: “No HTTP resource was found that matches the request URI” in WebAPI and AngularJS

我很困惑。 我使用 ASP.NET WebApi 2 作为 SPA 的休息 api 和 AngularJS。 我的应用程序使用 4 个休息请求。 但只有一个不起作用,我不知道为什么。

我已将流程定义如下:

客户端:

//Controller
CrudService.getRepo(selFrom, selTo).$promise.then(
   function (response) {
      ...
   },
   function (err) {
      $log.error('Mth: ', err);
   });

//CrudService
function getRepo(selFrom, selTo) {
   return ResService.ds022.query(
      {
         from: selFrom,
         to: selTo
      }
   );
}

//ResService:
function ResService($resource, baseUrl) {
    return {
        ds022: $resource(baseUrl + '/api/qr_ds022/mth_test', {
            from: '@from',
            to: '@to'
        }, {})
    }
}

另一方面:服务器端(WebAPI)

[RoutePrefix("api/qr_ds022")]
public class QR_DS022Controller : ApiController
{
   private TestContext db = new TestContext();

   [HttpGet]
   [Route("mth_test")]
   public IQueryable<getRep_Result> getRepos(DateTime from, DateTime to)
   {
      var results = db.getRep(from, to).AsQueryable();
      return results;
   }
}

数据库模型是使用 Entity Framework 6 创建的。我不知道问题出在哪里。 如您所见,路由已正确定义。

用函数参数映射一个地方的路线,试试这种方式

public class QR_DS022Controller : ApiController
{
   private TestContext db = new TestContext();

   [HttpGet]
   [Route("api/qr_ds022/mth_test/{from}/{to}")]
   public IQueryable<getRep_Result> getRepos(DateTime from, DateTime to)
   {
      var results = db.getRep(from, to).AsQueryable();
      return results;
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM