feat: api logger 적용
This commit is contained in:
parent
a573d7ffb1
commit
3eb5974414
@ -1,5 +1,7 @@
|
|||||||
import { NextRequest, NextResponse } from 'next/server'
|
import { NextRequest, NextResponse } from 'next/server'
|
||||||
|
import { HttpStatusCode } from 'axios'
|
||||||
import { prisma } from '@/libs/prisma'
|
import { prisma } from '@/libs/prisma'
|
||||||
|
import { writeLog } from '@/libs/logger'
|
||||||
import { type Suitable } from '@/types/Suitable'
|
import { type Suitable } from '@/types/Suitable'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,6 +44,7 @@ import { type Suitable } from '@/types/Suitable'
|
|||||||
* ]
|
* ]
|
||||||
*/
|
*/
|
||||||
export async function GET(request: NextRequest) {
|
export async function GET(request: NextRequest) {
|
||||||
|
let responseStatus: number = HttpStatusCode.InternalServerError
|
||||||
try {
|
try {
|
||||||
const searchParams = request.nextUrl.searchParams
|
const searchParams = request.nextUrl.searchParams
|
||||||
const pageNumber = parseInt(searchParams.get('pageNumber') || '0')
|
const pageNumber = parseInt(searchParams.get('pageNumber') || '0')
|
||||||
@ -51,7 +54,8 @@ export async function GET(request: NextRequest) {
|
|||||||
|
|
||||||
/* 파라미터 체크 */
|
/* 파라미터 체크 */
|
||||||
if (pageNumber === 0 || itemPerPage === 0) {
|
if (pageNumber === 0 || itemPerPage === 0) {
|
||||||
return NextResponse.json({ error: '페이지 번호와 페이지당 아이템 수가 필요합니다' }, { status: 400 })
|
responseStatus = HttpStatusCode.BadRequest
|
||||||
|
return NextResponse.json({ error: '페이지 번호와 페이지당 아이템 수가 필요합니다' }, { status: responseStatus })
|
||||||
}
|
}
|
||||||
|
|
||||||
let query = `
|
let query = `
|
||||||
@ -104,6 +108,7 @@ export async function GET(request: NextRequest) {
|
|||||||
|
|
||||||
const suitable: Suitable[] = await prisma.$queryRawUnsafe(query, pageNumber, itemPerPage)
|
const suitable: Suitable[] = await prisma.$queryRawUnsafe(query, pageNumber, itemPerPage)
|
||||||
|
|
||||||
|
responseStatus = HttpStatusCode.Ok
|
||||||
return NextResponse.json(suitable, {
|
return NextResponse.json(suitable, {
|
||||||
headers: {
|
headers: {
|
||||||
'spinner-state': 'true',
|
'spinner-state': 'true',
|
||||||
@ -111,6 +116,9 @@ export async function GET(request: NextRequest) {
|
|||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`데이터 조회 중 오류가 발생했습니다: ${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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user