티스토리 뷰

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만 사용할 수 있다.)

현재는 자신의 댓글이 아니더라도 삭제가 가능한데 인증 기능 구현을 통해 삭제의 권한을 사용자에게만 부여할 수 있도록 설정 가능하다.

 

 


 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/43z0P6S

 

 

#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완

728x90
반응형
댓글