Typed Express

Typed Express는 요청 파이프라인의 흐름과 데이터 계약을 함께 보여 준다

TypeScript는 런타임 순서를 바꾸지 않지만 각 단계가 req, res, next에 어떤 값을 추가해 넘기는지 문서처럼 드러낸다.

01 request클라이언트 요청 진입

params, query, body의 출처를 구분한다.

02 parser + middlewareexpress.json, auth, request id

req.body와 res.locals를 채운다.

03 typed router경로별 handler 계약

Request 제네릭으로 입력·응답 타입을 좁힌다.

04 error handlernext(error)

예외를 공통 응답 형태로 바꾼다.

구분의미판단
Request 타입params, response, body, query라우트 진입점에서 명시
res.locals미들웨어가 넘기는 값타입 확장 필요
검증런타임 입력 확인타입은 외부 입력 검증을 대신하지 않음

핵심 Typed Express의 핵심은 요청의 런타임 흐름과 각 단계의 데이터 계약을 함께 정리하는 것이다.