API 명세서 상 사용자는
일반 사용자
와 인증된 사용자
로 나뉩니다. 인증된 사용자는 로그인한 사용자를 의미하며, 인증된 사용자만이 사용할 수 있는 기능을 수행하는 API 함수는 반드시 헤더에 발급 받은 토큰을 넣어서 호출해야 합니다.
const axiosRequestConfig = { baseURL: import.meta.env.VITE_API_END_POINT, timeout: NETWORK.TIMEOUT, }; export const axiosCommonInstance = axios.create(axiosRequestConfig); // 일반 사용자 export const axiosAuthInstance = axios.create(axiosRequestConfig); // 인증된 사용자 //인증이 필요한 API 함수는 인터셉터가 중간에 가로채 헤더에 토큰을 넣어준다. axiosAuthInstance.interceptors.request.use(setAuthorization, (error) => { console.error(error); return Promise.reject(error); });
그렇기 때문에 axios 인스턴스를 2개 만들어, 토큰이 필요한 API의 경우 interceptor을 이용해 헤더에 토큰을 넣어 통신하도록 만들었습니다.