From 3eb59744145e93928630a2aa8eb2c3675061c3c1 Mon Sep 17 00:00:00 2001 From: Daseul Kim Date: Thu, 12 Jun 2025 18:05:29 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20api=20logger=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/suitable/list/route.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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) } }