단북
프론트엔드 기술 면접·Next.js 핵심 개념

Next.js에서 API 라우트를 사용하는 목적은 무엇인가요?

프론트엔드와 같은 프로젝트에서 백엔드 엔드포인트를 만드는 API 라우트(Route Handler)의 용도와 활용을 정리합니다.

Next.js는 프론트엔드와 같은 프로젝트 안에서 서버 API 엔드포인트를 만들 수 있습니다. 앱 라우터에서는 route.ts(라우트 핸들러), 페이지 라우터에서는 pages/api/를 씁니다.

어떻게 만드나

app/api/.../route.ts에서 HTTP 메서드 이름의 함수를 내보냅니다.

// app/api/users/route.ts
export async function GET() {
  const users = await db.user.findMany();
  return Response.json(users);
}
 
export async function POST(req: Request) {
  const body = await req.json();
  const user = await db.user.create({ data: body });
  return Response.json(user, { status: 201 });
}

왜 쓰나요? (목적)

  • 민감 정보 보호 — DB 접속 정보, API 키 등을 서버에서만 다뤄 브라우저에 노출하지 않습니다.
  • 프록시·중계 — 외부 API를 대신 호출해 키를 숨기고 CORS 문제를 우회합니다.
  • 풀스택 단일 저장소 — 프론트와 백엔드를 한 프로젝트에서 관리, 배포도 함께.
  • 웹훅·폼 처리·인증 등 서버 로직 처리.

주의

  • 라우트 핸들러는 서버에서만 실행되므로 클라이언트 번들에 코드가 포함되지 않습니다.
  • 앱 라우터에서는 단순 데이터 조회라면 라우트를 거치지 않고 서버 컴포넌트에서 직접 패칭하거나 서버 액션을 쓰는 편이 더 간단할 때도 많습니다. API 라우트는 외부에 공개할 HTTP 엔드포인트가 필요할 때 특히 유용합니다.

Next.js의 API 라우트(라우트 핸들러)를 사용하는 주된 목적으로 옳은 것은?

이 레슨을 다 읽으셨나요?

완료 표시는 이 브라우저에 저장됩니다.