1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
const instance = axios.create({ baseURL: config.baseURL, timeout: config.timeout || 10000, headers: { 'Content-Type': 'application/Json', ...config.headers } });
(request) => { console.log(`Making request to ${request.url}`);
const token = localStorage.getItem('access_token'); if (token && request.headers) { request.headers.Authorization = `Bearer ${token}`; }
return request; }, (error) => { return Promise.reject(error); } );
(response) => { return response; }, (error) => {
if (response) {
case 401: window.location.href = '/login'; break; case 403: break; case 500: break; } } else if (request) { } else { }
return Promise.reject(error); } );
return instance; };
constructor() { this.API = createAPIInstance({ baseURL: process.env.REACT_APP_API_BASE_URL || 'http://localhost:3001/API' }); }
try { const response = await this.API({ method, url, data, ...options });
return response.data; } catch (error) { throw this.handleError(error); } }
return this.request('GET', url, null, { params }); }
post(url, data = {}) { return this.request('POST', url, data); }
put(url, data = {}) { return this.request('PUT', url, data); }
delete(url) { return this.request('DELETE', url); }
if (error.response) { return { status: error.response.status, message: error.response.data?.message || 'Server error occurred', data: error.response.data }; } else if (error.request) { return { status: 0, message: 'Network error occurred', data: null }; } else { return { status: -1, message: error.message, data: null }; } } }
async function useApi() { try { const users = await apiService.get('/users'); console.log('Users:', users);
const newUser = await apiService.post('/users', { name: 'John Doe', email: 'john@example.com' }); console.log('Created user:', newUser); } catch (error) { console.error('API error:', error); } }
|