1
假設所有我的REST API的需要接受下列參數:
1)參數1
2)參數2在每個HTTP請求添加常用參數
這將是乏味的,我要實現這種方式(指代碼如下)。 此外,它藐視DRY的概念。我在尋找的是一個全局配置,它允許默認參數與http請求一起傳遞。
我相信$ httpProvider是最接近我能得到(因爲它可以定義Cookie的到期時間,標題等全球範圍內),但似乎我無法找到利用它來傳遞參數的方式。
angular.module('myApp.services').factory('Entry', function($resource) {
return {
method1: $resource('/api/entries/:id/:param1/:param2',
{ id: '@_id', param1:'@param1', param2: '@param2'}, {
update: {
method: 'PUT' // this method issues a PUT request
}
}),
method2: $resource('/api/entries2/:param1/:param2',
{param1:'@param1', param2: '@param2'}, {
})
});
我希望從最終優化代碼中得到類似的結果。
angular.module('myApp.services').config($httpProvider){
$httpProvider.defaults.param('param1');
$httpProvider.defaults.param('param2');
}
angular.module('myApp.services').factory('Entry', function($resource) {
return {
method1: $resource('/api/entries/:id/',
{ id: '@_id' }, {
update: {
method: 'PUT' // this method issues a PUT request
}
}),
method2: $resource('/api/entries2'),
{}, {
})
});
查找到$ HTTP攔截器:https://docs.angularjs.org/API/NG /服務/ $ HTTP#攔截 –