본문 바로가기
웹개발/Springboot

[블로그 만들기] 게시글 삭제하기 / form태그 DELETE Mapping

by HoPpangg 2021. 7. 21.
SMALL

상세보기 페이지로 이동 시 수정/삭제 버튼이 있습니다. 

삭제 버튼을 눌러 게시글이 삭제되는 기능을 만들도록 하겠습니다.

detail.jsp 파일에서 삭제 버튼을 누르면 deletePost()함수가 실행되도록 onsubmit 속성을 넣어줍니다.

가장 아래 script 태그를 만들어 안에 자바스크립트 함수를 생성해줍니다.

event.preventDefault();는 삭제 버튼을 눌렀을 때 submit이 실행되기때문에 페이지가 새로고침 됩니다. 이를 막기 위해서써주는  것 입니다. event는 해당 페이지에서 일어나는 모든 이벤트들의 정보를 갖고 있는 변수입니다.

fetch를 사용해서 controller에서 사용한 매핑 주소를 입력해주고, HTTP method를 입력해줍니다. 삭제를 할 것이기때문에 delete를 사용해줍니다. 

자바스크립트를 이용해서 매핑을 할 때는 데이터를 return 받아야하므로 ViewResolver가 실행되는 클래스에 @ResponseBody annotation을 붙여주면 해당 메서드만 MessageConverter가 발동하게 됩니다. 따라서 text를 반환 할 수 있습니다. 

권한 체크를 하기 위해  게시글의 쓴 사용자의 ID, 로그인 되어있는 사용자의 ID가 같은지 확인 후 같으면 해당 게시글을 삭제하고 "ok"를 return 해주는 코드를 작성합니다.

그러면 자바스크립트 코드의 parseResponse 변수에 return 값이 text로 들어갑니다.

parseResponse 값이 ok라면 홈화면을,  ok가 아니라면 로그인 화면으로 이동하도록 해줍니다.

 

서버를 실행시켜 확인해보면

잘 삭제되는 것을 볼 수 있습니다.

728x90
LIST

'웹개발 > Springboot' 카테고리의 다른 글

[블로그 만들기] 게시글 쓰기  (0) 2021.07.22
[블로그 만들기] 상세보기  (0) 2021.07.20
[블로그 만들기] 글 목록  (0) 2021.07.20

댓글