요청은 검증을 지나 서비스와 저장소 경계로 이동한다
API 서버 구현은 라우트 하나를 만드는 일이 아니라 CORS, DTO 검증, 서비스 책임, DB 접근, 응답 형식을 하나의 요청 경로로 연결하는 작업입니다.
01
HTTP 요청
프론트엔드가 REST API 엔드포인트를 호출한다.
02
ValidationPipe
DTO에 없는 값은 제거하거나 거부한다.
03
Controller
라우트와 요청 메서드를 서비스 호출로 연결한다.
04
Service
비즈니스 규칙과 트랜잭션 흐름을 처리한다.
05
Repository
DB 조회와 저장을 인프라 계층에 모은다.
구현 항목 판단표
CORS
클라이언트 origin, 메서드, credentials 정책을 서버 입구에서
정한다.
입구 정책
DTO
요청 본문 타입과 유효성 규칙을 한곳에 둔다.
검증
Config
포트, DB 연결, API 키처럼 환경별 값을 코드에서 분리한다.
환경
Service
컨트롤러가 비즈니스 규칙을 직접 알지 않도록 책임을
분리한다.
책임
모듈 구성 스키마
AppModule
ConfigModule, TypeOrmModule, 기능 모듈을 조립
UserModule
Controller, Service, Repository를 기능 단위로 묶음
ValidationPipe
whitelist, forbid, transform으로 입력 모양 고정
요청 검증
DTO 외 속성이 차단되고 타입 변환이 일관된다.
의존성 주입
Controller는 Service를, Service는 저장소 경계를 주입받는다.
환경 분리
포트와 DB 정보가 `.env`와 ConfigService로 관리된다.