現在、angularjs呼び出しのヘッダーにトークンを動的に設定するために知っている唯一の方法は、次のように$http
を使用することです。
return $http.get({
url: 'https://my.backend.com/api/jokes',
params: {
'jokeId': '5',
},
headers: {
'Authorization': 'Bearer '+ $scope.myOAuthToken
}
});
しかし、私は$ resourceを介してこれを渡す方法を理解したいと思います、ここでは動作しないいくつかの疑似コードがあります:
...
.factory('myFactory',
['$resource',
function($resource){
return {
jokes: $resource('https://my.backend.com/api/jokes', null, {
query: {
method: 'GET'
}
})
};
}
]
);
...
return myFactory.jokes.query({
'jokeId': '5',
'headers': {
'Authorization': 'Bearer '+ $scope.myOAuthToken
}
});
Angularjsの$ resourceにその場でヘッダーを渡すにはどうすればよいですか?
Configメソッドはアクションメソッドで利用できないため、これはあなたが試みている方法では実行できないと思います。しかし、アクション構成メソッドにはそれがあります。したがって、リソースを直接返すのではなく、許可トークンをパラメーターとして受け取る関数を作成し、リソースを作成して返すことができます。
return {
jokes: function (token) {
return $resource('https://my.backend.com/api/jokes', null, {
query: {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + token
}
}
})
}
};
次に、サービス関数を次のように呼び出します。
myFactory.jokes($scope.myOAuthToken).query({'jokeId': '5'});