모든 Http 요청 URL에 baseURL 설정
axios.defaults.baseURL = process.env.SERVICE_URL;
모든 Http 요청에 대해서 전처리.
axios.interceptors.request.use((config) => {
config.headers.Authorization =
'Bearer ' + localStorage.getItem('access_token');
return config;
});
모든 Http 응답에 대해서 전처리.
axios.interceptors.response.use((response: AxiosResponse<HttpResponse>) => {
if (response.data.errorCode !== 0) {
throw new HttpError(response.data.errorCode, response.data.errorMsg);
}
return response;
});
전처리 함수 보다 먼저 호출 된다. 여기서 리턴한 값이 전처리 함수에게 전달된다.
axios.defaults.transformResponse = (data) => {
console.log('트랜스폼 응답', data);
return data;
};