2013-11-15 57 views
3

目前我已經在角度定義的資源是這樣的:如何定義不使用REST GET的查詢參數的Angular資源?

Users: $resource(APIBASEROUTE +'/users/:_id', {_id: '@_id'}) 

當我呼籲用戶使用此代碼:

$scope.user = ayApi.Users.get({id:$routeParams.userId}); 

請求被髮送,這樣的查詢參數:

http://localhost:3000/api/v1/users?id=526eff826a6100fb22000000 

但是它需要打這樣的REST服務器:

http://localhost:3000/api/v1/users/526eff826a6100fb22000000 

我該如何讓Angular這樣做?

回答

2

我想問題在於參數名稱的失效。

在定義

您有:{_id:'@_id'}),它應該是{id...

或者在你的電話應該以下劃線

$scope.user = ayApi.Users.get({_id:$routeParams.userId}); 

任何其他參數(資源定義中沒有映射)是視爲查詢字符串參數。這就是爲什麼角度決定追加你的id作爲查詢字符串的一部分。它不是_id

+0

Doh!非常感謝你的銳利眼睛,這讓我一直困擾着我。很高興這是一個愚蠢的錯誤,而不是在Angular中處理一些古怪的事情。 – JohnC

相關問題