게시글 상세 페이지에서 삭제 버튼을 확인할 수 있습니다. 삭제 버튼을 클릭해 해당 게시글을 삭제해 보겠습니다.

1.png

1.png

7.1 Service

detail.mustache 에서 삭제 버튼을 확인할 수 있습니다.

board > detail.mustache

2.png

2.png

삭제 버튼은 <form>태그로 감싸고, 제출 시 /boards/id/delete 로 POST 요청이 전송되도록 구성합니다.

id 값은 컨트롤러의 detail 메서드에서 Model에 담아 뷰로 전달된 데이터를 참조해 사용합니다.

detail.mustache

<!-- 수정삭제버튼 -->
<div class="d-flex justify-content-end">
    <a href="/boards/1/update-form"  class="btn btn-secondary me-1">수정 </a>
    <form action="/boards/{{model.id}}/delete" method="post">
        <button class="btn btn-outline-secondary">삭제</button>
    </form>
</div>

다음으로 BoardService의 게시글삭제 메서드를 구현합니다.

BoardService.java

@Transactional
public void 게시글삭제(Integer id){
    Board board = boardRepository.findById(id);
    boardRepository.delete(board);
}

7.2 Controller

BoardController에 deleteById 메서드를 다음과 같이 구현합니다.

게시글 삭제가 완료되면 리다이렉트를 통해 루트 경로(/)로 이동하도록 처리하겠습니다.