restangular嵌套资源,单个资源的不同url

时间:2014-11-27 06:38:41

标签: angularjs restangular

我有以下几点:

/quotes (GET/POST/PATCH/PUT)
/quotes/{id}/purchase-orders (GET/POST)
/purchase-orders (GET)
/purchase-orders/{id} (GET/PATCH/PUT/DELETE)

当我通过以下方式创建采购订单时:

Restangular.one('quote', {id}).all('purchase-orders').post({params}).then(function(purchaseOrder){
     console.log(purchaseOrder);
};

purchaseOrder对象上的网址是/ quotes / {id} / purchase-orders / {id},但我希望它是/ purchase-orders / {id}。我使用以下代码实现了这一目标:

Restangular.extendModel('purchase-orders', function(purchaseOrder) {
    if (purchaseOrder.parentResource) baseRestangular.restangularizeElement(null, purchaseOrder, 'purchase-orders');
    return angular.extend(purchaseOrder, PurchaseOrder);
});

这是最佳/唯一的方式吗?

1 个答案:

答案 0 :(得分:0)

有一个配置选项可以设置无父路线。

Restangular.setParentless(真)