BoardService
페이지 정보
본문
package web.service;
import web.domain.Board;
import web.dto.BoardDTO;
import web.dto.BoardListAllDTO;
import web.dto.BoardListReplyCountDTO;
import web.dto.PageRequestDTO;
import web.dto.PageResponseDTO;
public interface BoardService {
Long register(BoardDTO boardDTO); //등록
BoardDTO readOne(Long bno); //조회
void modify(BoardDTO boardDTO); //수정
void remove(Long bno); //삭제
PageResponseDTO<BoardDTO> list(PageRequestDTO pageRequestDTO); //목록
//댓글 수 출력 - 목록
PageResponseDTO<BoardListReplyCountDTO> listWithReplyCount(PageRequestDTO pageRequestDTO);
//게시글의 이미지와 댓글의 숫자까지 처리
PageResponseDTO<BoardListAllDTO> listWithAll(PageRequestDTO pageRequestDTO);
//DTO를 엔티티로 변환하기
default Board dtoToEntity(BoardDTO boardDTO) {
Board board = Board.builder()
.bno(boardDTO.getBno())
.title(boardDTO.getTitle())
.content(boardDTO.getContent())
.writer(boardDTO.getWriter())
.build();
if(boardDTO.getFileNames() != null) {
boardDTO.getFileNames().forEach(fileName -> {
String[] arr = fileName.split("_");
board.addImage(arr[0], arr[1]);
});
}
return board;
}
}
[설명]
기존의 ModelMapper는 단순한 구조의 객체를 다른 타입의 객체로 만드는 데는 편리하지만 다양한 처리가 필요한 경우에는 오히려 더 복잡하기 때문에 DTO 객체를 엔티티 객체로 변환하는 메소드를 작성하도록 한다.
BoardService 인터페이스가 DTO와 엔티티를 모두 처리하는 경우가 많으므로 default 메소드를 이용해서 이를 처리해 보자
- 이전글● 게시물 등록 처리 24.07.01
- 다음글BoardServiceImpl 24.07.01
댓글목록
등록된 댓글이 없습니다.