서버 Route
별칭: server route · 서버 route · 서버 라우트 · route handler · API route
브라우저 대신 서버에서 외부 API 호출이나 비밀값 처리를 맡는 엔드포인트.
서버 route는 웹앱 안에 두는 작은 백엔드 통로다. API 키를 숨기고, CORS 문제를 피하고, 외부 응답을 내부 포맷으로 바꾼 뒤 프론트에 전달할 때 사용한다. Next.js에서는 route handler나 API route로 구현한다.
정의
서버 route는 웹앱 프로젝트 안에서 서버 측 코드로 실행되는 엔드포인트다. 브라우저가 직접 외부 API를 호출하는 대신, 서버 route가 요청을 받아 외부 API를 호출하고 필요한 변환·검증·비밀값 처리를 수행한 뒤 프론트엔드에 응답한다.
왜 중요한가
API 키를 브라우저 코드에 넣으면 사용자에게 노출될 수 있고, 외부 API가 CORS를 허용하지 않으면 브라우저 직접 호출이 막힐 수 있다. 서버 route를 중간에 두면 키를 서버 환경변수에 보관하고, 외부 응답을 우리 앱의 응답 포맷으로 정리할 수 있다.
Semiclass에서의 의미
신호의 검 단계에서는 공공데이터 API를 서버 route 뒤에 숨기는 구조를 요청한다. 예를 들어 /api/public-items가 외부 공공데이터 API를 호출하고, 실패하면 sample-public-data.json으로 fallback하며, 최종적으로 PublicItem[]을 돌려준다.
주의할 점
서버 route는 비밀값을 숨기는 데 도움이 되지만, 무제한 프록시처럼 열어두면 위험하다. 요청 파라미터 검증, 호출량 제한, 오류 응답 처리, 캐싱을 고려해야 한다. 브라우저에 보내면 안 되는 원본 API 키나 내부 오류 메시지도 응답에 섞이지 않게 해야 한다.