
Next.js API Routes
Route Handlers, GET/POST 요청, middleware, CORS, 인증, 오류 처리
1Next.js 13+의 App Router에서 Route Handler란 무엇인가요?
Next.js 13+의 App Router에서 Route Handler란 무엇인가요?
답변
Route Handler는 route.ts(또는 route.js) 파일 내의 서버 함수로, 커스텀 API 엔드포인트를 생성할 수 있습니다. Pages Router의 API Routes(pages/api 폴더)와 달리, Route Handler는 app/ 폴더에 위치하며 Web Standard Request/Response를 지원합니다. 서버 측에서 HTTP 요청(GET, POST, PUT, DELETE 등)을 처리합니다.
2GET 요청을 처리하는 Route Handler는 어떻게 생성하나요?
GET 요청을 처리하는 Route Handler는 어떻게 생성하나요?
답변
GET 요청을 처리하려면, route.ts 파일에서 GET이라는 이름의 async 함수를 export합니다. 이 함수는 Request 객체를 받아 NextResponse.json()을 사용하여 Response를 반환합니다. Next.js는 export된 GET 함수를 해당 라우트의 HTTP GET 요청에 자동으로 매핑합니다. 다른 HTTP 메서드(POST, PUT, DELETE, PATCH)도 각 이름에 맞게 동일한 패턴을 따릅니다.
3NextResponse와 표준 Response의 차이점은 무엇인가요?
NextResponse와 표준 Response의 차이점은 무엇인가요?
답변
NextResponse는 표준 Web Response 클래스를 Next.js 전용 기능으로 확장한 것입니다. NextResponse.json()을 통한 자동 직렬화, NextResponse.redirect()를 통한 리다이렉트 등 편리한 메서드를 제공하며, cookie와 header 조작을 더 쉽게 만들어 줍니다. 표준 Response도 작동하지만, 코드를 간소화하고 Next.js 에코시스템과의 더 나은 통합을 제공하는 NextResponse가 권장됩니다.
Route Handler에서 검색 매개변수(query params)를 가져오는 방법은 무엇인가요?
POST 요청을 처리하고 JSON body를 가져오는 방법은 무엇인가요?
+17 면접 질문