로그인 시 axios response interceptors 사용 sample
axiosInstance.interceptors.response.use(
(response) => {
return response;
},
(error) => {
// error.response가 없을 경우를 제일 상단에 작성
// error message에 'timeout'이 들어가있거나 응답 코드가 500일 경우 서버 에러 alert 노출
if (error.message.includes("timeout") || error.response?.status === 500) {
alert("서버 에러가 발생했습니다. 잠시 후 재시도해주시기 바랍니다.");
}
const errorStatus = error.response?.status;
const errorMsg = error.response?.data.detail;
const errorUrl = error.response?.config.url;
if (error.response?.config.url.includes("login")) {
if (errorStatus === 400) {
alert(errorMsg);
}
}
// compile error 화면을 보여주지 않기 위해 promise reject
return Promise.reject(error);
}
);