Configuration par défaut

Vous pouvez définir des valeurs de configuration par défaut qui seront utilisées pour toutes les requêtes.

Valeurs par défaut globales

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

Valeurs par défaut d’instance

// vous pouvez définir des valeurs par défaut à la création de l’instance…
const instance = axios.create({
  baseURL: 'https://api.example.com'
});

// … mais aussi une fois qu’elle a été créée
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;

Ordre de priorité de la configuration

Les différentes configurations sont combinées dans un certain ordre. Cet ordre est le suivant : d’abord les valeurs par défaut de la librairie que vous pouvez retrouver dans lib/defaults.js, puis la propriété defaults de l’instance, et enfin l’argument config de la requête. Chaque nouvelle valeur a la priorité par rapport à ce qui était défini précédemment. Voici un exemple.

// Création d’une instance en utilisant la configuration par défaut de la
// librairie. Pour l’instant la valeur de `timeout` est `0` puisque c’est la
// valeur par défaut de la librairie.
const instance = axios.create();

// On remplace la valeur par défaut de la librairie. Maintenant chaque requête
// effectuée via cette instance sera attendue 2,5 secondes avant d’être
// considérée comme perdue.
instance.defaults.timeout = 2500;

// On remplace la valeur de `timeout` spécifiquement pour cette requête car on
// sait qu’elle prend du temps.
instance.get('/longRequest', {
  timeout: 5000
});