feat: api logger 적용

This commit is contained in:
Daseul Kim 2025-06-12 18:05:29 +09:00
parent a573d7ffb1
commit 3eb5974414

View File

@ -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)
}
}