1const apiClient = axios.create({
2 baseUrl: "/api",
3});
4
5const api = {
6 get: async <TResponse = unknown>(
7 ...args: Parameters<AxiosInstance["get"]>
8 ) => {
9 const response = await apiClient.get<TResponse>(...args);
10 return response.data;
11 },
12 post: async <TResponse = unknown>(
13 ...args: Parameters<AxiosInstance["post"]>
14 ) => {
15 const response = await apiClient.post<TResponse>(...args);
16 return response.data;
17 },
18 put: async <TResponse = unknown>(
19 ...args: Parameters<AxiosInstance["put"]>
20 ) => {
21 const response = await apiClient.put<TResponse>(...args);
22 return response.data;
23 },
24 patch: async <TResponse = unknown>(
25 ...args: Parameters<AxiosInstance["patch"]>
26 ) => {
27 const response = await apiClient.patch<TResponse>(...args);
28 return response.data;
29 },
30 postForm: async <TResponse = unknown>(
31 ...args: Parameters<AxiosInstance["postForm"]>
32 ) => {
33 const response = await apiClient.postForm<TResponse>(...args);
34 return response.data;
35 },
36 patchForm: async <TResponse = unknown>(
37 ...args: Parameters<AxiosInstance["patchForm"]>
38 ) => {
39 const response = await apiClient.patchForm<TResponse>(...args);
40 return response.data;
41 },
42 delete: async <TResponse = unknown>(
43 ...args: Parameters<AxiosInstance["delete"]>
44 ) => {
45 const response = await apiClient.delete<TResponse>(...args);
46 return response.data;
47 },
48};