Untitled

Controller는 View로부터 들어온 사용자 요청을 해석해서 Model을 업데이트하거나, 데이터를 받아 View로 전달하는 작업을 함.

1. 기존 방식

개발 방식

컨트롤러→DTO매핑→값을 서비스에 전달

이유

  1. 들어온 DTO를 에니티로 변경해서 주면, 컨트롤러에서 엔티티를 조작하여 값이 변조되거나 예기치 못한 오류가 생길 위험이 있다.
  2. 엔티티가 불완전한 경우가 존재한다.
  3. 레이어간 통신을 위해 DTO이기 때문에, 서로 다른 레이어를 DTO를 활용하지 않고 엔티티를 직접 전달하는 것이 적절하지 않다.

위 방식의 문제점

  1. DTO로 전달할 때, 뷰-컨트롤러-서비스간 통신에 같은 DTO가 사용되고, 뷰에서 가지는 요청이나 응답에따라 서비스까지 영향이간다.

    즉, 서비스 레이어와 컨트롤러 레이어가 강한 의존을 가지게된다.

  2. 이로 인해, 서비스 레이어의 모듈화가 어려워진다.

  3. 중복 코드가 늘어날 수 있다.

각종 방법의 문제점