DTO : 데이터 전송 객체 (Data Transfer Object)
- 프로세스 간 데이터를 전달하는 객체
굳이 Entity를 그대로 보여주지 않고 출력 DTO를 사용하는 이유?
- 보여줄 테이터만 깔끔하게 담기 위해!
주요 사용 어노테이션 (Lombok 활용)
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
<input type="text" class="form-control" name="title">
뷰 페이지에서 속성값으로 name을 추가하여 DTO의 필드명과 동일하게 설정!
@AllArgsConstructor
@ToString
public class ArticleForm {
private Long id; // 가져오고 싶은 필드만 작성
private String title;
private String content;
//Article이라는 Entity 타입으로 변환해주는 메서드
public Article toEntity() {
return new Article(id, title, content);
}
}