DTO

자바

Entity vs DTO vs VO

DTO(Data Transfer Object) 계층간 데이터 교환을 위한 객체로 로직을 가지지 않는 순수한 데이터 객체로 필드와 필드 정보 제공을 위한 메소드만 가진다. 클라이언트에게서 폼을 넘겨받는 컨트롤러 계층 사이, 컨트롤러 계층과 애플리케이션 계층 사이 등 Layer를 오갈 때 사용한다. 자바에선 엔티티의 순환참조를 끊는 역할도 한다. @Getter public class PostResponse { private Long id; private String title; private String content; private String nickname; private String username; private LocalDate createDate; private List commentRespon..

스프링

Controller Service DTO 의존관계, 레이어 별 유효성 검증

간단한 프로젝트경험하고 프로그래머스 라이브 스터디를 참가해서 배운 것들에 대한 개인적인 사견입니다. 컨트롤러DTO, 서비스 DTO 지금까지는 컨트롤러에서 받은 DTO를 엔티티로 바꿔서 서비스에 넣어주거나, 컨트롤러 DTO 그대로 서비스로 넣어서 사용했다. 하지만 다음과 같은 이유로 서비스 DTO를 사용하는 것이 좋다. 1) 서비스에서 엔티티를 사용하면 DB에 저장되기 전일 수도 있고 이는 불완전한 엔티티를 서비스에서 이용하는 것이다. 2) 그대로 서비스에 넣어서 사용하면 서비스에서 컨트롤러 DTO에 의존하게 된다. 3) 컨트롤러 DTO와 서비스 DTO의 포맷이 다를 수 있고 이로 인한 처리비용이 발생할 수 있다. 거의 모든 코드가 중복일 가능성이 높지만 그래도 컨트롤러와 서비스의 강한 결합을 떨어트리는게..

비오베베
'DTO' 태그의 글 목록