我在文档中找到麻烦,允许我为特定$资源的所有操作定义我的自定义http标头,你知道怎么做吗?
这是我想要避免的事情
return $resource(main.dev + '/api/:entity/:action', '', {
SaveUser: {
method: 'POST',
params: {
entity: 'users',
action: 'register'
},
headers: {
api_key: main.api_key //same header
}
},
get:{
headers: {
api_key: main.api_key //same header
}
}
});
答案 0 :(得分:0)
你可以使用像这样的httpinterceptor:
define(['./app'], function (app) {
'use strict';
return app.factory('requestInterceptor', ['$log', function ($log) {
var requestInterceptor = {
request: function (config) {
$log.debug(config);
//YOUR CODE HERE
//if config.url starts with /api
//config.headers.push token
return config;
}
};
return requestInterceptor;
}]).config(['$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push('requestInterceptor');
}]);
});
当config.url
以api开头时,您将标题插入config.headers
。