728x90

댓글 3

[DAY 20] 댓글 삭제 View 페이지 구현 및 자바스크립트 이벤트 처리

1. 댓글 삭제 버튼 추가수정 버튼 옆에 삭제 버튼을 추가하기 위해 수정 버튼 구현한 부분 바로 아래에 삭제 버튼 코드를 작성한다. 삭제2. 삭제 버튼 클릭하여 REST API 요청 보내기 { // 삭제 버튼 선택 const commentDeleteBtns = document.querySelectorAll(".comment-delete-btn"); // 삭제 버튼 이벤트 처리 // commentDeleteBtn.addEventListener("click", function() { // console.log("삭제 버튼이 클릭됐습니다..!"); // }); commentDeleteBtns.forEach(btn..

[DAY 16] 댓글 REST API - Create, Update, Delete 구현

모든 작업의 흐름은1. 컨트롤러 만들기2. 서비스 만들기로 이루어진다. 또한 생성, 수정, 삭제는 DB에 접근하기 때문에 @Transactional 어노테이션을 주어야 한다.댓글 생성1. 컨트롤러 만들기// CommentApiController.java // 2. 댓글 생성 @PostMapping("/api/articles/{articleId}/comments") public ResponseEntity create(@PathVariable Long articleId, @RequestBody CommentDto dto) { // 서비스에 위임 CommentDto createdDto = c..

[DAY 14] 댓글 CRUD : InvalidDataAccessApiUsageException 에러

Many-To-One게시글과 댓글은 1:N, 즉 다대일 관계이다. 게시글 하나당 n개의 댓글이 달리기 때문이다.그리하여 댓글 CRUD를 위한 엔티티를 생성할때, @manytoone 어노테이션을 선언해주고, 외래키 매핑을 해주어야 한다.또한 댓글은 CRUD 뿐만 아니라 페이지별로 정렬하여 나타내야하기때문에 CrudRepository를 상속받는 것이 아닌 JpaRepository를 상속 받아 ListCrudRepository와 ListPagingAndSortingRepository 기능을 사용할 것이다.외래키 매핑@JoinColumn(name="외래키_이름")댓글 엔티티는 게시글 엔티티의 id를 외래키로 사용한다. 그러므로 name은 article_id가 된다특정 게시글의 모든 댓글 조회해당 메서드에서 조회..

728x90