/** * API 호출을 위한 편의 함수 * * @template T - 응답 데이터의 타입 * @param path - API 엔드포인트 경로 (예: '/users', '/users/1') * @param opts - 요청 옵션 (method, body, headers 등) * @returns Promise - API 응답 데이터 * * @example * // GET 요청 * const users = await useApi('/users') * * // POST 요청 * const newUser = await useApi('/users', { * method: 'POST', * body: { name: 'John', email: 'john@example.com' } * }) * * // PUT 요청 * const updatedUser = await useApi('/users/1', { * method: 'PUT', * body: { name: 'John Updated' } * }) * * // DELETE 요청 * await useApi('/users/1', { method: 'DELETE' }) * * // FormData 업로드 * const formData = new FormData() * formData.append('file', file) * await useApi('/upload', { method: 'POST', body: formData }) */ export const useApi = (path: string, opts?: any): Promise => { const { $api } = useNuxtApp(); return ($api as any)(path, opts); };