DTO
와 Entity
에서 둘 중 어느 곳에 유효성 검사를 위한 코드를 작성해야 하는가에 대한 의문이 생겼다.
Entity
에서 생성한다면 DTO
에는 필요 없지 않을까?
DTO
에서 생성한다면 Entity
에는 필요 없지 않을까?
정답은..
"두 군데 전부 작성해 주는것이 좋다."
이유로는
1. "Controller
에서 Service
로 정상값이 전달 될 것이다" 라는 가정으로 코드를 작성하는 것은 좋지 않다는 것.
2. 협업 시 다른 프로그래머 혹은 본인이 실수 할 수 있고 각 레이어는 유효성검사의 책임을 갖기 때문.