diff --git a/src/app/api/suitable/list/route.ts b/src/app/api/suitable/list/route.ts index c668153..c1ab794 100644 --- a/src/app/api/suitable/list/route.ts +++ b/src/app/api/suitable/list/route.ts @@ -1,5 +1,7 @@ import { NextRequest, NextResponse } from 'next/server' +import { HttpStatusCode } from 'axios' import { prisma } from '@/libs/prisma' +import { writeLog } from '@/libs/logger' import { type Suitable } from '@/types/Suitable' /** @@ -42,6 +44,7 @@ import { type Suitable } from '@/types/Suitable' * ] */ export async function GET(request: NextRequest) { + let responseStatus: number = HttpStatusCode.InternalServerError try { const searchParams = request.nextUrl.searchParams const pageNumber = parseInt(searchParams.get('pageNumber') || '0') @@ -51,7 +54,8 @@ export async function GET(request: NextRequest) { /* 파라미터 체크 */ if (pageNumber === 0 || itemPerPage === 0) { - return NextResponse.json({ error: '페이지 번호와 페이지당 아이템 수가 필요합니다' }, { status: 400 }) + responseStatus = HttpStatusCode.BadRequest + return NextResponse.json({ error: '페이지 번호와 페이지당 아이템 수가 필요합니다' }, { status: responseStatus }) } let query = ` @@ -104,6 +108,7 @@ export async function GET(request: NextRequest) { const suitable: Suitable[] = await prisma.$queryRawUnsafe(query, pageNumber, itemPerPage) + responseStatus = HttpStatusCode.Ok return NextResponse.json(suitable, { headers: { 'spinner-state': 'true', @@ -111,6 +116,9 @@ export async function GET(request: NextRequest) { }) } catch (error) { console.error(`데이터 조회 중 오류가 발생했습니다: ${error}`) - return NextResponse.json({ error: `데이터 조회 중 오류가 발생했습니다: ${error}` }, { status: 500 }) + responseStatus = HttpStatusCode.InternalServerError + return NextResponse.json({ error: `데이터 조회 중 오류가 발생했습니다: ${error}` }, { status: responseStatus }) + } finally { + await writeLog(request, responseStatus) } }