티스토리 뷰
728x90
반응형
1. 게시글 댓글 구현
게시글 댓글을 구현하는 과정은 게시글을 구현하는 과정과 매우 유사함으로 게시글 구현 코드를 참고하면서 구현하면 된다.
(1) 컨트롤러 구현
- ArticleCommentController를 생성한다.
- ArticleCommentController는 ArticleController와 유사한 부분이 많기 때문에 비교하면서 참고하면 좋다.
- 게시글의 경우에는 새로운 페이지에서 글을 작성하였지만 댓글은 이동하지 않고 바로 작성할 수 있도록 하는 것이 다른 부분이다.
- 댓글을 삭제하는 것도 게시글을 삭제하는 메소드와 유사함으로 복붙을 해주고 article 대신 article comment가 되도록 comment가 추가되어야 할 부분을 수정을 해준다.
- 또한 도착 페이지가 게시글 페이지가 될 수 있도록 “redirect:/articles/”+articleId 로 설정해준다.
(2) dto 구현
- dto 디렉토리에 ArticleCommentRequest dto를 article(flat)의 id와 content만 추가하여 생성한다.
- ArticleCommentRequest에도 ArticleRequest와 유사하게 구현을 하되, articleId와 userAccountDto, content 외에는 null로 자동으로 들어가도록 ArticleCommentDto를 수정해준다.
(3) 테스트 구현
- 댓글 저장, 삭제가 정상적으로 호출되는지 입출력에 관한 테스트 해볼 수 있다.
- 해당 내용도 마찬가지로 게시글 테스트와 유사함으로 비교하면서 Comment에 해당되는 부분을 수정하면서 작성할 수 있다.
(4) 뷰 구현
- 기존 게시글 뷰에서 댓글 부분만 수정을 하면 된다.
- 기존 댓글 구현 부분에서 form을 추가하여 article의 id와 댓글 content를 담는다.
- boot strap의 그리드 시스템을 이용하여 각각의 댓글 옆에 삭제 버튼을 만들어 준다.
- xml 파일에서는 article id를 선택하여 id를 넣어주고, textbox에 content를 입력하게 한다.
- Form의 기능은 각각의 댓글을 삭제할 수 있도록 하는 것이다. 즉 delete 동작이 실행될 수 있도록 구현한다.
- (참고로 form 에서는 get, post만 사용할 수 있다.)
현재는 자신의 댓글이 아니더라도 삭제가 가능한데 인증 기능 구현을 통해 삭제의 권한을 사용자에게만 부여할 수 있도록 설정 가능하다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
728x90
반응형
'Study > FastCampus' 카테고리의 다른 글
[Java Project] Part 2. 게시판 서비스 만들기 - 인증 기능 구현 2 (0) | 2023.09.14 |
---|---|
[Java Project] Part 2. 게시판 서비스 만들기 - 인증 기능 구현 1 (0) | 2023.09.13 |
[Java Project] Part 2. 게시판 서비스 만들기 - 해시태그 검색 구현 (0) | 2023.09.11 |
[Java Project] Part 2. 게시판 서비스 만들기 - 해시태그 검색 구현 (0) | 2023.09.10 |
[Java Project] Part 2. 게시판 서비스 만들기 - 게시판 정렬 (0) | 2023.09.09 |
댓글