DTO 클래스?
NOVEMBER 10, 2020
DTO
Data Transfer Object
각 레이어 사이에 데이터를 전달하기 위한 목적으로 사용하는 Object
View Layer와 DB Layer의 역할 분리를 하기위함으로 사용
API의 req와 res에 맞게 domain이 수정될 필요 없다.
req, res에 불필요한 properties 가 들어가지 않는다.
필수 값에 대한 조건 체크하는 것이나 DTO 에서 Domain 으로 변환하거나, Domain 에서 DTO 로 변환하는 로직은 Domain 이 아닌 DTO 에 담겨야 한다.
@NotNull 과 같은 Data 의 Validation 도 DTO 의 역할 이기 때문에 DTO 에 넣어주게 되면 역할과 책임이 좀 더 명백해지게 된다.