Purple Bobblehead Bunny

Backend/SPRINGBOOT

[SpringBoot] 게시판 만들기 5. 게시글 삭제

준영어린이 2022. 10. 31. 18:05

 

 

 

게시글 삭제는 게시글 상세 페이지에서 진행을 한다.

 

boardview.html 에서 추가를 한다

<a href="#">글 삭제</a>

 

 

BoardService로 간 후 게시물 삭제 코드를 구현 한다.

 

게시글 상세 페이지와 마찬 가지로 어떤 게시글을 불러올 지 지정을 해 줘야 한다.

그래서 매개변수로 id를 넣어주고 JpaRepository의 deleteById 메서드를 입력 해 준다.

 

BoardController로 돌아간 후 boardService의 boardDelete() 메서드를 입력 해 준 후,

마찬가지로 매개변수로 id를 불러온다.

 

여기서 삭제가 되면, /board/list로 돌아가게 된다!

redirect는 사용자가 어떤 URL로 웹 서버를 요청했을 때, 다른 URL로 넘겨주는 것이다.

 

redirect: 다음 문자열이 "/" 로 시작을 하면 웹 어플리케이션 기준으로 이동 경로를 생성하고,

그렇지 않으면 현재 경로를 기준으로 상대경로를 사용을 한다.

 

return "뷰이름"은 뷰 이름에 해당하는 view를 보여주고,

return "redirect:/addr" 는  redirect 후에 적힌 주소로 URL 요청을 다시 한다.

 

이제 view 페이지로 다시 가서 링크를 설정 해 줘야 한다.

 

<a th:href="@{/board/delete(id=${board.id})}">글 삭제</a>

글 삭제 링크를 thymeleaf의 th:href 문법으로 링크를 설정 해 준다.

상세 페이지 때와 마찬가지로, 글 삭제를 하기 위해서 어떤 글을 삭제를 할 지 지정을 해 줘야 한다.

Service에서 id값을 지정을 해 줬다.

 

1번 글을 클릭을 하고, 삭제를 해보겠다.

 

글 삭제를 누르게 되니, 시원하게 1번 글이 없어진 것을 확인할 수 있었다.