From b25e7d53b6cfcc2c4dbe4cfc44a98e2915295294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Thu, 19 Mar 2026 10:33:59 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20[api]=20422=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=ED=95=B8=EB=93=A4=EB=9F=AC=EC=97=90=EC=84=9C=20error.details?= =?UTF-8?q?=20=ED=8F=B4=EB=B0=B1=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - data.errors 없으면 data.error.details에서 validation 에러 추출 --- src/lib/api/error-handler.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/api/error-handler.ts b/src/lib/api/error-handler.ts index 769fe5e0..3decf8ae 100644 --- a/src/lib/api/error-handler.ts +++ b/src/lib/api/error-handler.ts @@ -83,16 +83,18 @@ export const handleApiError = async (response: Response): Promise => { // 422 Unprocessable Entity - Validation 에러 if (response.status === 422) { + // errors는 top-level 또는 error.details에 있을 수 있음 + const validationErrors = data.errors || data.error?.details; // 상세 validation 에러 로그 출력 console.error('🔴 [API 422 Validation Error]', { message: data.message, - errors: data.errors, + errors: validationErrors, fullResponse: data }); throw new ApiError( 422, data.message || '입력값을 확인해주세요.', - data.errors + validationErrors ); }