diff --git a/src/api/core/index.ts b/src/api/core/index.ts index 1b3310f2..28900307 100644 --- a/src/api/core/index.ts +++ b/src/api/core/index.ts @@ -70,31 +70,37 @@ baseAPI.interceptors.response.use( }, ); +type ApiVersionType = 'v1' | 'v2'; + // 공통 응답 형식 처리를 위한 api 헬퍼 -export const api = { +const apiHelper = (v: ApiVersionType = 'v1') => ({ // eslint-disable-next-line @typescript-eslint/no-explicit-any get: async (url: string, config?: any): Promise => { - const response = await baseAPI.get>(url, config); + const response = await baseAPI.get>(`/api/${v}${url}`, config); return response.data.data; }, // eslint-disable-next-line @typescript-eslint/no-explicit-any post: async (url: string, data?: any, config?: any): Promise => { - const response = await baseAPI.post>(url, data, config); + const response = await baseAPI.post>(`/api/${v}${url}`, data, config); return response.data.data; }, // eslint-disable-next-line @typescript-eslint/no-explicit-any put: async (url: string, data?: any, config?: any): Promise => { - const response = await baseAPI.put>(url, data, config); + const response = await baseAPI.put>(`/api/${v}${url}`, data, config); return response.data.data; }, // eslint-disable-next-line @typescript-eslint/no-explicit-any delete: async (url: string, config?: any): Promise => { - const response = await baseAPI.delete>(url, config); + const response = await baseAPI.delete>(`/api/${v}${url}`, config); return response.data.data; }, // eslint-disable-next-line @typescript-eslint/no-explicit-any patch: async (url: string, data?: any, config?: any): Promise => { - const response = await baseAPI.patch>(url, data, config); + const response = await baseAPI.patch>(`/api/${v}${url}`, data, config); return response.data.data; }, -}; +}); + +export const api = apiHelper('v1'); // breaking change 방지용 +export const apiV1 = apiHelper('v1'); +export const apiV2 = apiHelper('v2'); diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 267eee94..420ca106 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -11,7 +11,7 @@ import { Providers } from './providers'; export const metadata: Metadata = { title: 'WeGo', description: 'WeGo에서 새로운 인연들을 만나보세요!', - icons: './favicon.svg', + icons: '/favicon.svg', }; initMocks();