feat: network 패키지 적용

This commit is contained in:
2025-03-06 19:34:55 +09:00
parent 98a3f3c4b7
commit abc5568893
3 changed files with 9 additions and 62 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "cs",
"version": "0.1.0",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "NODE_OPTIONS='--inspect' next dev",
+5 -60
View File
@@ -1,62 +1,7 @@
import axios from "axios";
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "axios";
import { Client } from "@common/network";
import { SERVER_API_URL, SITE_ID } from "../config";
class Client {
private static instance: Client;
private axiosInstance: AxiosInstance;
private constructor() {
this.axiosInstance = axios.create({
baseURL: SERVER_API_URL,
headers: {
"Content-Type": "application/json",
"X-Site-Id": SITE_ID,
},
withCredentials: true,
});
}
public static getInstance(): Client {
if (!Client.instance) {
Client.instance = new Client();
}
return Client.instance;
}
public async get<T = unknown, R = AxiosResponse<T>>(
url: string,
config?: AxiosRequestConfig,
): Promise<R> {
const response = await this.axiosInstance.get<T, R>(url, config);
return response;
}
public async post<T = unknown, R = AxiosResponse<T>, D = unknown>(
url: string,
data?: D,
config?: AxiosRequestConfig<D>,
): Promise<R> {
const response = await this.axiosInstance.post<T, R>(url, data, config);
return response;
}
public async put<T = unknown, R = AxiosResponse<T>, D = unknown>(
url: string,
data?: D,
config?: AxiosRequestConfig<D>,
): Promise<R> {
const response = await this.axiosInstance.put<T, R>(url, data, config);
return response;
}
public async delete<T = unknown, R = AxiosResponse<T>>(
url: string,
config?: AxiosRequestConfig,
): Promise<R> {
const response = await this.axiosInstance.delete<T, R>(url, config);
return response;
}
}
export const client = Client.getInstance();
export const client = Client.getInstance({
baseURL: SERVER_API_URL as string,
siteId: SITE_ID as string,
});
+3 -1
View File
@@ -26,7 +26,9 @@
"paths": {
"@/*": ["./*"],
"@common/components/*": ["../../../packages/common/components/src/*"],
"@common/components": ["../../../packages/common/components/src"]
"@common/components": ["../../../packages/common/components/src"],
"@common/network/*": ["../../../packages/common/network/*"],
"@common/network": ["../../../packages/common/network/"]
}
},
"include": [