게시글 상세 조회는 기본 키(PK)를 활용하여 단일 레코드를 조회하는 방식으로 수행됩니다.
BoardService 클래스에 게시글 상세 조회 메서드를 구현하고, 매개변수로 받은 id를 이용해 해당 게시글을 조회합니다.
BoardService.java
public Board 게시글상세(Integer id) {
Board board = boardRepository.findById(id);
return board;
}
컨트롤러에서는 외부로부터 id 값을 전달받아야 합니다. id 값은 View에서 전달받습니다.
index.mustache 의 tr 행은 onclick 이벤트가 등록되어 있어서 사용자가 클릭하면 /boards/{{id}} 경로로 요청이 전송됩니다.
index.mustache

뷰에서 전달된 id 값은 @GetMapping 경로 매핑에 포함되며, @PathVariable 어노테이션을 사용해 URI의 {id} 값을 메서드 매개변수로 바인딩하여 활용할 수 있습니다.
BoardService의 게시글상세 메서드를 호출합니다.
BoardController.java
@GetMapping("/boards/{id}")
public String detail(@PathVariable("id") Integer id) {
Board board = boardService.게시글상세(id);
return "board/detail";
}
detail() 메서드에 HttpServletRequest 매개변수를 추가하고, 조회한 데이터를 model 이라는 키로 request에 저장하여 뷰에 전달합니다.
BoardController.java