게시글 삭제 기능을 구현해보는 과정이다
전체적인 흐름은 다음과 같다
- 삭제버튼 만들기
- 컨트롤러에 삭제기능 추가하기
- 서비스에 삭제메서드 만들기
//boardview.html
...
<body>
<h1 th:text="${board.title}">제목입니다</h1>
<p th:text="${board.content}">내용이 들어갈 부분입니다</p>
<a th:href="@{/board/delete(id=${board.id})}">글삭제</a>
</body>
boardview.html에서 a태그를 이용해서 글삭제 링크를 추가한다
//boardController.java
...
//@GetMapping("/board/delete")
//public String main(@RequestParam(name="id", required=false)Integer id){
public String boardDelete(Integer id){//위와 동일
boardService.boardDelete(id);
return "redirect:/board/list";
}
Controller는 쿼리 스트링 방식으로 전달된 값을 받아서 Service에 넘기고[@RequestParam이란?], 게시글 리스트 뷰(/board/list)로 redirect 한다
//boardService.java
...
public void boardDelete(Integer id){
boardRepository.deleteById(id);
}
Service에서는 deleteById()를 이용하여 DB에서 해당 게시글을 삭제처리해준다.
deleteById 와 delete 의 차이
[출처] 위 내용은 한코딩님의 강의를 보고 정리한 내용입니다