Hello

75. 댓글 삭제

by 볼빵빵오춘기

detail.jsp

댓글삭제에 onclick 이벤트 추가한다.

<div class="card">
    <div class="card-header">댓글 리스트</div>
    <ul id="reply-box" class="list-group">
        <c:forEach var="reply" items="${board.replys}">
            <li id="reply-${reply.id}" class="list-group-item d-flex justify-content-between">
                <div>${reply.content}</div>
                <div class="d-flex">
                    <div class="font-italic">작성자: ${reply.user.username}</div>&nbsp;
                    <button onClick="index.replyDelete(${board.id},${reply.id})" class="badge">삭제</button>
                </div>
            </li>
        </c:forEach>
    </ul>
</div>

 

Board.js

replyDelete: function (boardId,replyId) {
    $.ajax({
        type: "DELETE",
        url: `/api/board/${boardId}/reply/${replyId}`,
        dataType: "json",
    }).done(function (resp) {
        alert("댓글 삭제 완료되었습니다.");
        location.href = `/board/${boardId}`;
    }).fail(function (error) {
        alert(JSON.stringify(error));
    });
},

 

BoardApiController

@DeleteMapping("/api/board/{boardId}/reply/{replyId}")
public ReplySaveRequestDto.ResponseDto<Integer> replyDelete(@PathVariable int replyId){
    System.out.println("replyId : "+replyId);
    boardService.댓글삭제(replyId);
    return new ReplySaveRequestDto.ResponseDto<Integer>(HttpStatus.OK.value(),1);
}

 

BoardSerivce

@Transactional
public void 댓글삭제(int replyId) {
    replyRepository.deleteById(replyId);
}

 

'강의 따라하기 > blog' 카테고리의 다른 글

73. @Autowired의 원리  (1) 2024.01.11
72. 댓글 작성시 네이티브 쿼리 사용해보기  (0) 2024.01.11
71. 댓글 작성시 Dto 사용해보기  (1) 2024.01.11
70. 댓글 작성하기  (0) 2024.01.10
69. 댓글 목록 뿌리기  (1) 2024.01.10

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기