2016-07-25 40 views
0

我非常困惑。我使用ASP.NET WebApi 2作爲休息api和AngularJS作爲SPA。我的應用程序使用4個休息請求但只有一個不起作用,我不知道爲什麼。獲取錯誤:WebAPI和AngularJS中找不到與請求URI匹配的HTTP資源

我定義的過程如下:

客戶端:

//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創建的。我不知道問題出在哪裏。正如你所看到的,這條路線是正確定義的。

回答

1

地圖路線一處與函數參數,嘗試這種方式

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; 
    } 
} 
+0

這是行不通的。在我的其他請求中,我也不需要路由地址中的參數! – yuro

相關問題