ArticleDto는 웹 애플리케이션에서 게시글 데이터 전송을 위해 사용되는 데이터 전송 객체(DTO)입니다. 주로 클라이언트와 서버 간의 통신을 위해 사용되며, 비즈니스 로직과 Presentation 계층 간의 데이터 교환에 활용됩니다.
package tomato.classifier.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import tomato.classifier.entity.Article;
import tomato.classifier.entity.Comment;
import javax.persistence.Column;
import java.time.LocalDateTime;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class ArticleDto {
private Integer articleId;
private String title;
private String articleWriter;
private String content;
private boolean deleteYn;
private boolean updateYn;
private String updateTime;
private List<Comment> comments;
private Integer view;
private Integer commentCount;
public static ArticleDto convertDto(Article target) {
Integer count = 0;
for (Comment comment : target.getComments()){
if(!comment.isDelete_yn()){
count++;
}
}
return new ArticleDto(
target.getArticleId(),
target.getTitle(),
target.getArticleWriter(),
target.getContent(),
target.isDeleteYn(),
target.isUpdateYn(),
target.getUpdate_time(),
target.getComments(),
target.getView(),
count
);
}
}