0
我使用Angular的$資源與API接口,並在該資源上創建自定義方法。其中一種方法是POST,當我嘗試使用它時,它將發送整個資源,而不僅僅是我試圖發佈到API的屬性。我不認爲這是$資源服務的預期行爲,但是,我可能會錯過一些東西。
下面的代碼:
服務:
angular.module('adminApp')
.factory('Framework', function($resource) {
return $resource('/api/frameworks/:id', {id: '@id'}, {
'update': {
method: 'PUT'
},
'getRequiredLicenses': {
method: 'GET',
url: '/api/frameworks/:id/required_licenses',
isArray: true
},
'addRequiredLicenses': {
method: 'POST',
url: '/api/frameworks/:id/required_licenses'
},
'removeRequiredLicense': {
method: 'DELETE',
url: '/api/frameworks/:id/required_licenses/:license_id'
}
});
});
當我打電話吧:
scope.addLicensesToFramework = function() {
scope.framework.$addRequiredLicenses(null, {
required_licenses: Object.keys(scope.selectedLicenses) // returns an array of ints
});
}
(請注意,這是一個指令scope.framework
是實例。框架資源)
當這個請求被髮送時,這裏是什麼有效載荷中包含:
我的目的是隻能傳遞{'required_licenses': [12345,1236]}
在有效載荷,而我似乎無法弄清楚它爲什麼發送整個資源的機構。 (實際上,根本沒有發送,只有原始資源)
任何洞察將是非常有益的,謝謝!