
데이터를 전달하기 위한 객체
- 서버(백엔드)와 사용자(프론트엔드)가 데이터를 주고 받을 때 쓰는
정해진 형식의 데이터 묶음
일상 속에서 보는 DTO
1. 쇼핑앱에서 상품 주문
2. 상품을 담은 포장 박스에 송장(구매자 정보 등)을 붙여 택배 회사가 집까지 전달
즉, DTO는 데이터를 담는 박스와 비슷한 역할.
DTO가 없다면 데이터가 제대로 전달되지 않거나 뒤죽박죽 섞일 수 있다.
DTO 도메인 모델의 차이
-> 도메인 모델 : 데이터 베이스에서 직접 가져온 원본 데이터
-> DTO : 원본 데이터를 가공해서 전달용으로 만든 포장된 데이터
API와의 관계
-> API(Application Programming Interface)는 서버와 클라이언트가 데이터를 주고 받는 통로. DTO는 API가 데이터를 주고 받을 때 쓰는 형식.
회원가입
{
"name":"홍길동",
"email":"hong@example.com"
}
-> 비밀번호는 민감한 데이터이므로 DTO에는 포함하지 않음.
따라서 DTO 없이 데이터를 보낸다면 데이터 구조가 뒤죽박죽되어 서버가 읽을 수 없거나 불필요한 데이터까지 포함되어 보안 문제가 생길 수 있으므로 꼭 필요하다.