Mir ist aufgefallen, dass, wenn mehrere Instanzen von Axios mit benutzerdefinierter Header-Konfiguration erstellt werden, die neueste alle anderen zuvor definierten Konfigurationen überschreibt. Hier ist das einfachste Code- Snippet , um es zu reproduzieren:
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);
Ergebnisse in:
Object
Accept: "application/json, text/plain, */*"
authorization: "bar"
...
Ich bin mir nicht sicher, ob dies das richtige Verhalten ist, da Instanzen unabhängig sein sollen.
Ich wünschte, ich könnte first.headers.authorization = 'foo'
schreiben und es für diese Instanz ändern lassen
Nun, die einzige Möglichkeit, diese Einschränkung zu umgehen, scheint darin zu bestehen, den Header-Wert zu erzwingen:
first.get('/posts', {
headers: {
authorization: 'foo',
},
})
Dies ist Teil eines größeren Problems, das wir bald ansprechen werden (und viel später, als es angemessen ist). Siehe #812.
Hilfreichster Kommentar
Dies ist Teil eines größeren Problems, das wir bald ansprechen werden (und viel später, als es angemessen ist). Siehe #812.