Route Handler 경계

Route Handler 요청/응답 경계

Next.js API Route/Route Handler는 서버 코드이지만 캐시, 런타임, 요청 객체, 응답 형식, 인증 경계를 명확히 나눠야 합니다.

01

메서드 분기

GET, POST, PUT, DELETE 함수가 HTTP 메서드별 계약을 담당합니다.

method
02

요청 파싱

params, searchParams, header, body를 읽고 스키마 검증을 수행합니다.

parse
03

인증/권한

세션, 토큰, API key를 확인하고 리소스 접근 권한을 검사합니다.

auth
04

비즈니스 호출

DB, 외부 API, 도메인 서비스를 호출하되 비밀 값은 서버 내부에만 둡니다.

server only
05

응답 생성

상태 코드, JSON 본문, 캐시 헤더, 오류 형식을 일관되게 반환합니다.

response
Runtime
Node 또는 Edge 선택 Node API, DB 드라이버, 파일 시스템이 필요하면 Edge 런타임 제약을 피해야 합니다.
runtime 명시
Cache
GET 응답 재사용 개인화 응답과 공개 응답을 캐시 정책으로 분리합니다.
private/public
Error
오류 응답 표준화 검증 실패, 인증 실패, 서버 오류를 다른 코드와 메시지로 구분합니다.
관측 가능성

API 구현 확인 기준

비밀 노출 외부 API key와 DB URL이 클라이언트 번들로 나가지 않는지 확인합니다.
입력 검증 TypeScript 타입만으로 외부 요청의 런타임 값이 안전해지지 않습니다.
상태 코드 모든 실패를 200으로 감싸면 클라이언트와 관측 도구가 오류를 놓칩니다.