TypeScript

API 서버 구현

이전 절에서 풀 스택 프로젝트의 전반적인 구조를 설계하고, 클라이언트와 서버 간의 코드 공유 전략을 포함한 모노레포(Monorepo) 구성을 살펴보았습니다. 이제 설계된 구조를 바탕으로, 애플리케이션의 핵심 백본인 API 서버를 실제로 구현해 볼 차례입니다.

엔티티 정의와 API 계약용 DTO 정의를 중심으로 API 서버 구현의 판단 흐름을 읽습니다.

핵심 흐름

1

NestJS 서버 초기 설정

이전 장에서 nest new 명령어로 NestJS 프로젝트를 생성했다면, 기본 설정은 이미 완료되어 있을 겁니다.

2

핵심 비즈니스 로직 구현

이전 장에서 TypeORM을 사용한 사용자 모듈 예시를 기반으로, NestJS의 컨트롤러, 서비스, 엔티티, DTO를 통해 CRUD(Create, Read, Update, Delete) API를 구현합니다.

3

인증 및 인가 구현

실제 API 서버에서는 사용자의 신원을 확인하는 인증(Authentication)과, 특정 리소스 접근 권한을 확인하는 인가(Authorization) 과정이 필수적입니다.

4

역할 기반 인가 구현

특정 API 엔드포인트에 관리자만 접근 가능하도록 하는 등 역할 기반 인가는 다음과 같이 구현할 수 있습니다.