-
DTO. 데이터 전송 객체.카테고리 없음 2024. 10. 21. 09:08
DTO는 Data Transfer Object의 약자로, 데이터 전송 객체를 의미합니다. 주로 시스템 간, 계층 간, 또는 애플리케이션 내에서 데이터를 전송할 때 사용하는 객체입니다. DTO는 보통 여러 계층 간의 데이터 전송을 단순화하고, 데이터의 일관성을 유지하는 역할을 합니다.
예를 들어
웹 애플리케이션에서는 다음과 같은 계층이 있을 수 있습니다:
- 클라이언트 (프론트엔드): 사용자가 요청을 보내는 UI가 있는 부분
- 서버 (백엔드): 클라이언트 요청을 처리하고 데이터베이스와 상호작용하는 부분
- 데이터베이스: 실제 데이터를 저장하는 곳
클라이언트가 서버에 어떤 데이터를 보내거나, 서버가 클라이언트에게 데이터를 응답할 때, 또는 서버 내부에서 데이터 처리 시, 데이터를 주고받는 형식이 일관적이고 구조화되어야 합니다. 이때 사용하는 것이 DTO입니다.
DTO의 주요 목적
- 데이터의 일관성 유지: DTO는 전송되는 데이터의 구조를 명확하게 정의하므로, 데이터가 일관되게 유지됩니다.
- 보안: DTO를 사용하면 필요한 데이터만 전송할 수 있어서, 불필요한 정보나 민감한 데이터가 노출되는 것을 방지할 수 있습니다.
- 성능 최적화: 한 번에 필요한 데이터만 전송하므로, 네트워크 트래픽을 줄이고 성능을 개선할 수 있습니다.
예시
아래는 CreateTodoDto라는 이름의 DTO를 정의한 예시입니다:
export class CreateTodoDto { title: string; description: string; dueDate: Date; }
이 CreateTodoDto는 "할 일(Todo)"을 생성할 때 필요한 데이터를 정의한 DTO입니다. 클라이언트가 서버에 "할 일"을 생성하는 요청을 보낼 때, 이 DTO 형식에 맞춰 데이터를 전달하게 됩니다.
728x90