Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat] 댓글 기능 구현 #17

Merged
merged 7 commits into from
Oct 1, 2023
Merged

[Feat] 댓글 기능 구현 #17

merged 7 commits into from
Oct 1, 2023

Conversation

jinwooseok
Copy link
Contributor

어떤 내용에 대한 PR인가요?

comment의 crud 구현부에 대한 pr입니다.
comment부분에서 다른 테이블을 확인하는 부분을 제외하고 로직구현했습니다.

변경 사항

변경된 부분에 대한 상세한 내용을 나열해주세요

  1. comment crud repository
  2. comment crud service
  3. comment crud controller
  4. comment crud api test

무엇을 위주로 보면 좋을까요?

vote id와 comment id를 url을 통해 받는데, 이 때문에 처음에 requestdto mapping을 할 때 그 부분을 포함시키지 않고, model을 생성할 때 생성자에 voteid, commentid를 넣어주는 등으로 했는데 이걸 어떻게 하는게 좋을까요?

관련된 이슈

closes (#2)

테스트 방법

crud api test를 만들었는데, endexpect를 통해 매치가 되는지는 테스트를 안해봤습니다. 다만 빌드에 오류가 안나는 선에서 마무리했고, 내일 추가적으로 해서 올리도록 하겠습니다.

@jinwooseok jinwooseok linked an issue Sep 30, 2023 that may be closed by this pull request
11 tasks
@jinwooseok jinwooseok changed the title Feat/#2/comment [Feat] #2 댓글기능 Oct 1, 2023
@jinwooseok jinwooseok changed the title [Feat] #2 댓글기능 [Feat] 댓글기능 Oct 1, 2023
@jinwooseok jinwooseok changed the title [Feat] 댓글기능 [Feat] 댓글 기능 구현 Oct 1, 2023
@kssumin kssumin merged commit 05a71fb into weekly Oct 1, 2023
0 of 2 checks passed
@kssumin kssumin deleted the feat/#2/comment branch October 1, 2023 06:30
Copy link
Contributor

@kssumin kssumin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

11조 4주차 개발 중 궁금한 점 질문으로 드립니다!

throw new NoOwnershipException("접근할 수 없습니다.", HttpStatus.FORBIDDEN);

// update하기
commentEntity.setContent(requestDto.getContent());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jinwooseok (우석님의 질문)
update를 entity에 정의하고 더티체크를 통해 update를 하는 것과
repository에 save를 통해 저장하는 것중에 고민중입니다.

저는 update의 역할이 repository의 역할과 맞다고 생각하고 있습니다.

두 가지 방법 다 update를 구현할 수 있는데
선택의 기준이 있는지 궁금합니다.


@AllArgsConstructor
public class ReadCommentListResponse implements AbstractResponseDto {
private List<ReadCommentDto> readCommentDtoList;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ReadCommentDto 클래스와 따로 분리한 이유가 궁금합니다

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일급 컬렉션이랄까..따로 분리했던 이유는 현재 서비스단에 있는 리스트를 만드는 로직을 저 ReadCommentListResponse의 멤버함수로 포함시키려고 했었습니다. 그게 아니더라도 DTO 개별적으로 필요한 로직은 따로, List에 필요한 로직은 따로 둘 수 있을 것 같아 따로 나뒀었습니다!

throw new NoOwnershipException("접근할 수 없습니다.", HttpStatus.FORBIDDEN);

// 삭제로직
commentRepository.delete(commentEntity);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

soft delete 방식이니까 entity 상태 변경으로 해야하지 않을까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정하도록 하겠습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEAT] 댓글 기능 구현
3 participants