11import { POSTS_ENDPOINT } from "@/lib/api/constants" ;
22import { createServerAxios } from "@/lib/api/server" ;
3+ import { GatewayConfigError } from "@/lib/api/gateway-selector" ;
34import { AxiosError } from "axios" ;
45import { NextRequest , NextResponse } from "next/server" ;
56
@@ -22,18 +23,51 @@ export async function GET(request: NextRequest) {
2223 } ) ;
2324 return NextResponse . json ( data , { status : status } ) ;
2425 } catch ( error : unknown ) {
26+ // 게이트웨이 설정 오류 (환경변수 누락)
27+ if ( error instanceof GatewayConfigError ) {
28+ console . error ( "[API /posts] GatewayConfigError:" , error . message ) ;
29+ return NextResponse . json (
30+ {
31+ success : false ,
32+ code : "GATEWAY_CONFIG_ERROR" ,
33+ message : "서버 설정 오류가 발생했습니다. 관리자에게 문의하세요." ,
34+ } ,
35+ { status : 503 }
36+ ) ;
37+ }
38+
2539 // AxiosError 처리(Gateway 통신 오류)
2640 if ( ( error as AxiosError ) . isAxiosError ) {
2741 const axiosError = error as AxiosError ;
2842 const status = axiosError . response ?. status ?? 500 ;
2943 const payload = axiosError . response ?. data ?? {
44+ success : false ,
3045 message : axiosError . message ,
3146 } ;
47+
48+ // Next.js 서버 로그에 에러 기록
49+ console . error ( "[API /posts] AxiosError:" , {
50+ status,
51+ message : axiosError . message ,
52+ url : axiosError . config ?. url ,
53+ responseData : axiosError . response ?. data ,
54+ } ) ;
55+
3256 return NextResponse . json ( payload , { status } ) ;
3357 }
3458
3559 // 기타 오류
3660 const err = error instanceof Error ? error : new Error ( "Unknown error" ) ;
37- return NextResponse . json ( { message : err . message } , { status : 500 } ) ;
61+
62+ // Next.js 서버 로그에 에러 기록
63+ console . error ( "[API /posts] Error:" , {
64+ message : err . message ,
65+ stack : err . stack ,
66+ } ) ;
67+
68+ return NextResponse . json (
69+ { success : false , message : err . message } ,
70+ { status : 500 }
71+ ) ;
3872 }
3973}
0 commit comments