axiosの複数のインスタンスがカスタムヘッダー構成で作成されると、最新のものが他の以前に定義された構成をオーバーライドすることに気づきました。 これを再現するための最も簡単なコードスニペットは次のとおりです。
const axios = require('axios');
const baseURL = '';
const first = axios.create({ baseURL });
first.defaults.headers.common.authorization = 'foo';
const second = axios.create({ baseURL });
second.defaults.headers.common.authorization = 'bar';
console.log(first.defaults.headers.common);
結果:
Object
Accept: "application/json, text/plain, */*"
authorization: "bar"
...
インスタンスは独立しているはずなので、これが正しい動作かどうかはわかりません。
first.headers.authorization = 'foo'
と書いて、そのインスタンス用に変更してもらいたいのですが
この制限を回避する唯一の方法は、ヘッダー値を強制することだと思われます。
first.get('/posts', {
headers: {
authorization: 'foo',
},
})
これは、私たちがすぐに(そしてそれが合理的であるよりもずっと遅れて)対処しようとしているより大きな問題の一部です。 #812を参照してください。
最も参考になるコメント
これは、私たちがすぐに(そしてそれが合理的であるよりもずっと遅れて)対処しようとしているより大きな問題の一部です。 #812を参照してください。