NestJS · Final API

백엔드 API 구현을 수직 단면으로 끝내기

API 구현의 완성은 controller 파일이 있는지가 아니라, 하나의 사용자 행동이 검증·권한·도메인 처리·저장·응답까지 실제로 닫히는지로 판단한다.

01

엔드포인트 고정

method, path, request DTO, response DTO, 오류 코드를 먼저 작성한다.

02

입력과 권한

ValidationPipe와 guard가 service 전 단계에서 실패를 걸러낸다.

03

업무 실행

service가 중복, 상태 전이, transaction, 외부 호출을 처리한다.

04

응답 보호

entity를 그대로 내보내지 않고 노출 가능한 DTO로 변환한다.

Create
생성 API DTO 검증, 중복 확인, 저장, 201 응답
중복 제출 방지
Update
상태 변경 권한, 존재 여부, 상태 전이 가능성 확인
낙관적 잠금 가능
List
목록 조회 pagination, filter, sort, projection
대량 조회 보호
Mapper
응답 변환 내부 필드와 민감 정보를 숨김
계약 안정화

계층 · 트랜잭션 · 오류 점검

계층 controller가 비즈니스 규칙을 떠안지 않는다.
트랜잭션 여러 변경이 하나의 성공·실패 단위로 묶인다.
오류 Conflict, BadRequest, Forbidden이 구분된다.
테스트 service 단위와 API E2E가 같은 계약을 확인한다.