qcast-front/src/lib/Axios.js
2024-08-22 16:59:04 +09:00

57 lines
1.3 KiB
JavaScript

'use client'
import axios from 'axios'
axios.defaults.baseURL = process.env.NEXT_PUBLIC_API_SERVER_PATH
const axiosInstance = axios.create({
// baseURL: process.env.API_SERVER_URL,
headers: {
Accept: 'application/json',
},
})
axiosInstance.interceptors.request.use((config) => {
// config['Authorization'] = localStorage.getItem('token')
//TODO: 인터셉터에서 추가 로직 구현
return config
})
axiosInstance.interceptors.request.use(undefined, (error) => {
//TODO: 인터셉터에서 에러 처리 로직 구현
// if (error.isAxiosError && e.response?.status === 401) {
// localStorage.removeItem('token')
// }
})
export const get = ({ url }) =>
axiosInstance
.get(url)
.then((res) => res.data)
.catch(console.error)
export const post = ({ url, data }) =>
axiosInstance
.post(url, data)
.then((res) => res.data)
.catch(console.error)
export const put = ({ url, data }) =>
axiosInstance
.put(url, data)
.then((res) => res.data)
.catch(console.error)
export const patch = ({ url, data }) =>
axiosInstance
.patch(url, data)
.then((res) => res.data)
.catch(console.error)
export const del = ({ url }) =>
axiosInstance
.delete(url)
.then((res) => res.data)
.catch(console.error)