Type de retour attendu de l'API
Point de terminaison de l'API (ex: '/users/client/')
Options de la requête fetch (méthode, body, headers, etc.)
Indique si la requête nécessite une authentification
Données parsées de la réponse API
// Requête GET authentifiée simple
const clients = await fetchApi<Client[]>('/users/client/');
// Requête POST avec données
const newClient = await fetchApi<Client>('/users/client/', {
method: 'POST',
body: JSON.stringify({ nom: 'Dupont', email: 'dupont@example.com' })
});
// Requête sans authentification (login)
const authResponse = await fetchApi<AuthResponse>('/auth/login/', {
method: 'POST',
body: JSON.stringify({ email, password })
}, false);
Fonction wrapper principale pour les requêtes API avec gestion automatique de l'authentification.
Cette fonction encapsule toute la logique de communication avec l'API :