- Controller
/**
* 게시글 상세내용 응답 매핑 함수
* @param team_id
* @return
*/
@GetMapping("/api/get_board")
public ResponseEntity<?> getBoard(
@RequestParam("team_id") Long team_id) {
OneBoardResponseDTO oneBoard = boardService.getOneBoard(team_id);
return ResponseEntity.ok(oneBoard);
}
파라미터로 'team_id' 값을 받으면 해당 id값과 일치하는 게시판 상세 내용으로 들어가는 GetMapping이다
- Service
/**
* 게시판 상세내용 응답함수
* @param team_id
* @return
*/
@Override
public OneBoardResponseDTO getOneBoard(Long team_id) {
Optional<BoardEntity> boardEntity = boardRepository.findById(team_id);
OneBoardResponseDTO oneBoardResponseDTO = OneBoardResponseDTO.builder()
.board_id(boardEntity.get().getId())
.title(boardEntity.get().getTitle())
.content(boardEntity.get().getContent())
.writer(boardEntity.get().getUserInfoEntity().getNickname())
.createdDate(boardEntity.get().getCreatedDate())
.viewCnt(boardEntity.get().getViewCnt())
.build();
return oneBoardResponseDTO;
}
응답 DTO에 게시판 상세내용을 담아준다.
BoardEntity는 UserInfoEntity 테이블을 참초하고있는데 여기서 findby를 하게 되면 UserInfoEntity 도 같이 select문이 날라가기 때문에 다시 UserInfo 테이블을 조회할 필요가 없다.
- Postman 응답 결과
- thmyleaf Controller
/**
* 타임 리프 게시판 상세내용 화면
* @param model
* @param team_id
* @return
*/
@GetMapping("/thmyleaf/get_board")
public String getBoard(
Model model,
@RequestParam("team_id") Long team_id) {
OneBoardResponseDTO oneBoard = boardService.getOneBoard(team_id);
model.addAttribute("board", oneBoard);
return "boardDetail";
}
- thmyleaf html 출력 결과
'JAVA' 카테고리의 다른 글
SpringBoot thymeleaf Ajax 비통기 통신 parsererror 이슈 해결 (0) | 2022.09.08 |
---|---|
Spring Boot 게시판 및 댓글 출력 (thymeleaf, ajax) JPA 양방향 매핑 (0) | 2022.09.06 |
Spring Boot, thymeleaf ajax로그인 요청 (javascript) (0) | 2022.09.03 |
Spring Boot 전체 게시판 정렬 및 Pageable (paging) (0) | 2022.08.31 |
Spring Boot 기본적인 전체 게시판 게시판 응답 (0) | 2022.08.31 |
댓글