SR07 ae2a17ca5c Merge remote-tracking branch 'origin/main'
# Conflicts:
#	src/App.tsx
#	src/lib/api.ts
2025-06-09 18:52:45 +09:00

36 lines
916 B
TypeScript

import axios from 'axios'
const api = axios.create({
baseURL: 'https://api.biryu2000.kr',
// baseURL: 'http://localhost:8000',
})
// 요청 시 토큰 자동 추가
api.interceptors.request.use(
(config) => {
const token = localStorage.getItem('access_token')
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
},
(error) => Promise.reject(error)
)
// 응답 시 토큰 만료(401) 자동 처리
api.interceptors.response.use(
(response) => response,
(error) => {
if (error.response?.status === 401) {
// 로그아웃 처리
localStorage.removeItem('access_token')
localStorage.removeItem('token_type')
// 리로드 또는 리다이렉트
window.location.href = '/login'
}
return Promise.reject(error)
}
)
export default api