라우트 핸들러를 사용하면 웹 요청 및 응답 API를 사용하여 지정된 라우트에 대한 커스텀 request 핸들러를 만들 수 있습니다.
Good to know: 라우트 핸들러는 app
디렉토리 내에서만 사용할 수 있습니다. 라우트 핸들러는 page
디렉토리 내의 API 라우트와 동일하므로 API 라우트와 라우트 핸들러를 함께 사용할 필요가 없습니다.
라우트 핸들러는 app
디렉토리 내의 route.js|ts
파일에 정의됩니다.
export async function GET(request: Request) {}
라우트 핸들러는 page.js
및 layout.js
와 유사하게 app
디렉토리 내에 중첩될 수 있습니다. 하지만 page.js
와 동일한 라우트 세그먼트 수준에는 route.js
파일이 있을 수 없습니다.
지원되는 HTTP 메서드는 다음과 같습니다. GET
, POST
, PUT
, PATCH
, DELETE
, HEAD
및 OPTIONS
. 지원되지 않는 메서드가 호출되면 Next.js는 405 Method Not Allowed
응답을 반환 합니다.
NextRequest
및 NextResponse
APIs네이티브 요청 및 을답을 지원할 뿐만 아니라 Next.js는 고급 사용 사례를 위한 편리한 헬퍼를 제공하기 위해 NextRequest
및 NextResponse
로 이를 확장합니다.