HTTP 요청
request.json()의 결과는 신뢰하지 않고 unknown으로 받는다.
TypeScript 타입은 런타임 입력을 검사하지 않는다. unknown에서 시작해 검증된 DTO만 업무 코드로 넘긴다.
request.json()의 결과는 신뢰하지 않고 unknown으로 받는다.
스키마가 필수 필드, 형식, 길이를 실제 값에서 확인한다.
성공한 값만 SignUpInput처럼 좁혀진 타입을 얻는다.
서비스는 검증된 입력만 받아 회원가입 규칙에 집중한다.
내부 모델에서 공개해도 되는 필드만 응답 DTO로 만든다.
핵심: 정적 타입은 내부 코드를 연결하고, 런타임 스키마는 외부 입력 경계를 지킨다.