30 lines
		
	
	
		
			913 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			913 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import axios from 'axios'; | ||
|  | 
 | ||
|  | // Obtén la URL base de tu API desde variables de entorno o configúrala aquí
 | ||
|  | // Asegúrate que coincida con la URL donde corre tu API ASP.NET Core
 | ||
|  | const API_BASE_URL = 'http://localhost:5183/api'; // ¡AJUSTA EL PUERTO SI ES DIFERENTE! (Verifica la salida de 'dotnet run')
 | ||
|  | 
 | ||
|  | const apiClient = axios.create({ | ||
|  |   baseURL: API_BASE_URL, | ||
|  |   headers: { | ||
|  |     'Content-Type': 'application/json', | ||
|  |   }, | ||
|  | }); | ||
|  | 
 | ||
|  | // Interceptor para añadir el token JWT a las peticiones (si existe)
 | ||
|  | apiClient.interceptors.request.use( | ||
|  |   (config) => { | ||
|  |     const token = localStorage.getItem('authToken'); // O donde guardes el token
 | ||
|  |     if (token) { | ||
|  |       config.headers.Authorization = `Bearer ${token}`; | ||
|  |     } | ||
|  |     return config; | ||
|  |   }, | ||
|  |   (error) => { | ||
|  |     return Promise.reject(error); | ||
|  |   } | ||
|  | ); | ||
|  | 
 | ||
|  | // Puedes añadir interceptores de respuesta para manejar errores globales (ej: 401 Unauthorized)
 | ||
|  | 
 | ||
|  | export default apiClient; |