DTO(Data Transfer Object)는 애플리케이션에서 데이터 전송을 위해 사용하는 객체입니다.
View에서 필요한 정보로만 구성 가능합니다.
BoardResponse.java
public class BoardResponse {
// 여러 개의 DTO 객체를 관리하기 위해 BoardResponse 클래스 작성
@Data // Getter, Setter 필요
public static class DTO {
// BoardResponse.DTO 로 쓰기 위해 static 설정
private int id;
private String title;
public DTO(Board board) {
this.id = board.getId();
this.title = board.getTitle();
}
}
}
BoardService.java
@RequiredArgsConstructor
@Service
public class BoardService {
private final BoardRepository boardRepository;
public List<BoardResponse.DTO> 게시글목록보기() {
List<BoardResponse.DTO> dtos = new ArrayList<>();
List<Board> boardList = boardRepository.findAll();
// DTO 생성
for (Board board : boardList) {
BoardResponse.DTO dto = new BoardResponse.DTO(board);
dtos.add(dto);
}
return dtos;
}
}
BoardController.java
@GetMapping("/")
public String list(Model model) {
List<BoardResponse.DTO> boardList = boardService.게시글목록보기();
model.addAttribute("models", boardList);
return "list";
}
Share article