2014-10-06 102 views
0

我想配置一個角度$資源。這個$資源應該允許調用遠程Web服務。Angular js嵌套資源

// Gets all the nested-resources of a parent-resource 
1) GET /parent-resource/nested-resources 
// Gets a nested-resource by id 
2) GET /nested-resource/{id} 
// Create a nested resource 
3) POST /nested-resource 

在我的方案中,我想要使用第一個Web服務檢索所有嵌套的資源。當用戶修改嵌套資源時,將使用第三個Web服務保存嵌套資源。

var NestedResource = $resource('/nested-resource/:id'); 
Publishable.prototype.isNew = function() { 
    return this.id === undefined; 
}; 
... lot of functions... 

這種配置很適合打到第二和第三個Web服務,但是如何配置資源來使用第一個。幾個函數在嵌套的資源原型上註冊,我想避免創建特定的$資源。

Publishable.prototype.getByParentId = function(parentId) { 
    // ??   
} 

回答

1

創建的資源自定義操作如下:

var NestedResource = $resource('/nested-resource/:id',, 
    { action: "getAll", 
     method: "GET", 
     isArray: true, 
     url: '/parent-resource/:parentId/nested-resources' 
    }); 

現在,你應該能夠做到:

var allItems = NestedResource.getAll({parentId: 1}); 

檢索列表parentId的1

+0

謝謝。我如何指定父資源ID? – gontard 2014-10-06 07:57:02

+0

看到我的更新 - 我不知道我現在明白你的問題,但希望這有助於。 – Fordio 2014-10-06 08:36:19

+0

正是我在找的東西。謝謝 – gontard 2014-10-06 08:47:39