Référence API
Vous trouverez ci-dessous la liste de toutes les fonctions et classes disponibles dans le package axios. Ces fonctions peuvent être utilisées et importées dans votre projet. Elles sont toutes protégées par notre engagement renouvelé à respecter le versionnage sémantique. Vous pouvez donc compter sur leur stabilité dans les versions futures, sauf en cas de changement de version majeure.
Instance
L'instance axios est l'objet principal que vous utiliserez pour effectuer des requêtes HTTP. C'est une fonction fabrique qui crée une nouvelle instance de la classe Axios. L'instance axios dispose d'un certain nombre de méthodes pour effectuer des requêtes HTTP. Ces méthodes sont documentées dans la section Alias de requête de la documentation.
Classes
Axios
La classe Axios est la classe principale que vous utiliserez pour effectuer des requêtes HTTP. C'est une fonction fabrique qui crée une nouvelle instance de la classe Axios. La classe Axios dispose d'un certain nombre de méthodes pour effectuer des requêtes HTTP. Ces méthodes sont documentées dans la section Alias de requête de la documentation.
constructor
Crée une nouvelle instance de la classe Axios. Le constructeur accepte un objet de configuration optionnel en argument.
constructor(instanceConfig?: AxiosRequestConfig);request
Gère l'invocation de la requête et la résolution de la réponse. C'est la méthode principale pour effectuer des requêtes HTTP. Elle accepte un objet de configuration en argument et retourne une promise qui se résout vers l'objet de réponse.
request(configOrUrl: string | AxiosRequestConfig<D>, config: AxiosRequestConfig<D>): Promise<AxiosResponse<T>>;CancelToken Déprécié en faveur d'AbortController
La classe CancelToken était basée sur la proposition tc39/proposal-cancelable-promises. Elle était utilisée pour créer un token permettant d'annuler une requête HTTP. La classe CancelToken est désormais dépréciée en faveur de l'API AbortController.
Depuis la version 0.22.0, la classe CancelToken est dépréciée et sera supprimée dans une prochaine version. Il est recommandé d'utiliser l'API AbortController à la place.
La classe est exportée principalement pour des raisons de rétrocompatibilité et sera supprimée dans une prochaine version. Nous déconseillons fortement son utilisation dans de nouveaux projets et ne documentons donc pas cette API.
Fonctions
AxiosError
La classe AxiosError est une classe d'erreur levée lorsqu'une requête HTTP échoue. Elle étend la classe Error et ajoute des propriétés supplémentaires à l'objet d'erreur.
constructor
Crée une nouvelle instance de la classe AxiosError. Le constructeur accepte en argument un message, un code, une configuration, une requête et une réponse optionnels.
constructor(message?: string, code?: string, config?: InternalAxiosRequestConfig<D>, request?: any, response?: AxiosResponse<T, D>);properties
La classe AxiosError fournit les propriétés suivantes :
// Instance de config.
config?: InternalAxiosRequestConfig<D>;
// Code d'erreur.
code?: string;
// Instance de requête.
request?: any;
// Instance de réponse.
response?: AxiosResponse<T, D>;
// Booléen indiquant si l'erreur est une `AxiosError`.
isAxiosError: boolean;
// Code de statut HTTP de l'erreur.
status?: number;
// Méthode utilitaire pour convertir l'erreur en objet JSON.
toJSON: () => object;
// Cause de l'erreur.
cause?: Error;AxiosHeaders
La classe AxiosHeaders est une classe utilitaire permettant de gérer les en-têtes HTTP. Elle fournit des méthodes pour manipuler les en-têtes, comme l'ajout, la suppression et la récupération d'en-têtes.
Seules les méthodes principales sont documentées ici. Pour la liste complète des méthodes, référez-vous au fichier de déclaration de types.
constructor
Crée une nouvelle instance de la classe AxiosHeaders. Le constructeur accepte un objet d'en-têtes optionnel en argument.
constructor(headers?: RawAxiosHeaders | AxiosHeaders | string);set
Ajoute un en-tête à l'objet d'en-têtes.
set(headerName?: string, value?: AxiosHeaderValue, rewrite?: boolean | AxiosHeaderMatcher): AxiosHeaders;
set(headers?: RawAxiosHeaders | AxiosHeaders | string, rewrite?: boolean): AxiosHeaders;get
Récupère un en-tête depuis l'objet d'en-têtes.
get(headerName: string, parser: RegExp): RegExpExecArray | null;
get(headerName: string, matcher?: true | AxiosHeaderParser): AxiosHeaderValue;has
Vérifie si un en-tête existe dans l'objet d'en-têtes.
has(header: string, matcher?: AxiosHeaderMatcher): boolean;delete
Supprime un en-tête de l'objet d'en-têtes.
delete(header: string | string[], matcher?: AxiosHeaderMatcher): boolean;clear
Supprime tous les en-têtes de l'objet d'en-têtes.
clear(matcher?: AxiosHeaderMatcher): boolean;normalize
Normalise l'objet d'en-têtes.
normalize(format: boolean): AxiosHeaders;concat
Concatène des objets d'en-têtes.
concat(...targets: Array<AxiosHeaders | RawAxiosHeaders | string | undefined | null>): AxiosHeaders;toJSON
Convertit l'objet d'en-têtes en objet JSON.
toJSON(asStrings?: boolean): RawAxiosHeaders;CanceledError Extension d'AxiosError
La classe CanceledError est une classe d'erreur levée lorsqu'une requête HTTP est annulée. Elle étend la classe AxiosError.
Cancel Alias de CanceledError
La classe Cancel est un alias de la classe CanceledError. Elle est exportée pour des raisons de rétrocompatibilité et sera supprimée dans une prochaine version.
isCancel
Une fonction qui vérifie si une erreur est une CanceledError. Utile pour distinguer les annulations intentionnelles des erreurs inattendues.
isCancel(value: any): boolean;import axios from "axios";
const controller = new AbortController();
axios.get("/api/data", { signal: controller.signal }).catch((error) => {
if (axios.isCancel(error)) {
console.log("Request was cancelled:", error.message);
} else {
console.error("Unexpected error:", error);
}
});
controller.abort("User navigated away");isAxiosError
Une fonction qui vérifie si une erreur est une AxiosError. Utilisez-la dans les blocs catch pour accéder en toute sécurité aux propriétés spécifiques d'axios comme error.response et error.config.
isAxiosError(value: any): value is AxiosError;import axios from "axios";
try {
await axios.get("/api/resource");
} catch (error) {
if (axios.isAxiosError(error)) {
// error.response, error.config, error.code sont tous disponibles
console.error("HTTP error", error.response?.status, error.message);
} else {
// Une erreur non-axios (ex. une erreur de programmation)
throw error;
}
}all Déprécié en faveur de Promise.all
La fonction all est une fonction utilitaire qui prend un tableau de promises et retourne une promise unique qui se résout lorsque toutes les promises du tableau sont résolues. La fonction all est désormais dépréciée en faveur de la méthode Promise.all. Il est recommandé d'utiliser Promise.all à la place.
Depuis la version 0.22.0, la fonction all est dépréciée et sera supprimée dans une prochaine version.
spread
La fonction spread est une fonction utilitaire qui peut être utilisée pour décomposer un tableau d'arguments dans un appel de fonction. Utile lorsque vous avez un tableau d'arguments à passer à une fonction qui en accepte plusieurs.
spread<T, R>(callback: (...args: T[]) => R): (array: T[]) => R;toFormData
Convertit un objet JavaScript simple (ou imbriqué) en instance FormData. Utile pour construire programmatiquement des données de formulaire multipart à partir d'un objet.
toFormData(sourceObj: object, formData?: FormData, options?: FormSerializerOptions): FormData;import { toFormData } from "axios";
const data = { name: "Jay", avatar: fileBlob };
const form = toFormData(data);
// form est maintenant une instance FormData prête à être envoyée
await axios.post("/api/users", form);formToJSON
Convertit une instance FormData en objet JavaScript simple. Utile pour lire les données d'un formulaire dans un format structuré.
formToJSON(form: FormData): object;import { formToJSON } from "axios";
const form = new FormData();
form.append("name", "Jay");
form.append("role", "admin");
const obj = formToJSON(form);
console.log(obj); // { name: "Jay", role: "admin" }getAdapter
Résout et retourne une fonction d'adaptateur par nom ou en passant un tableau de noms candidats. axios utilise ceci en interne pour sélectionner le meilleur adaptateur disponible pour l'environnement actuel.
getAdapter(adapters: string | string[]): AxiosAdapter;import { getAdapter } from "axios";
// Obtenir explicitement l'adaptateur fetch
const fetchAdapter = getAdapter("fetch");
// Obtenir le meilleur adaptateur disponible depuis une liste de priorité
const adapter = getAdapter(["fetch", "xhr", "http"]);mergeConfig
Fusionne deux objets de configuration axios, en appliquant la même stratégie de fusion profonde qu'axios utilise en interne lors de la combinaison des valeurs par défaut avec les options par requête. Les valeurs ultérieures ont la priorité.
mergeConfig<T>(config1: AxiosRequestConfig<T>, config2: AxiosRequestConfig<T>): AxiosRequestConfig<T>;import { mergeConfig } from "axios";
const base = { baseURL: "https://api.example.com", timeout: 5000 };
const override = { timeout: 10000, headers: { "X-Custom": "value" } };
const merged = mergeConfig(base, override);
// { baseURL: "https://api.example.com", timeout: 10000, headers: { "X-Custom": "value" } }Constantes
HttpStatusCode
Un objet contenant une liste de codes de statut HTTP sous forme de constantes nommées. Utilisez-le pour écrire des conditions lisibles plutôt que des nombres bruts.
import axios, { HttpStatusCode } from "axios";
try {
const response = await axios.get("/api/resource");
} catch (error) {
if (axios.isAxiosError(error)) {
if (error.response?.status === HttpStatusCode.NotFound) {
console.error("Resource not found");
} else if (error.response?.status === HttpStatusCode.Unauthorized) {
console.error("Authentication required");
}
}
}Divers
VERSION
La version actuelle du package axios. Il s'agit d'une chaîne représentant le numéro de version du package, mise à jour à chaque nouvelle version.