AnTaeWook/e-voting

예외 처리 및 리팩토링 - [merged]

Closed this issue · 7 comments

Merges feature/#7-error-handling -> main

📝 Description

예외 처리 및 리팩토링

💽 Commits

ex)
구현 사항 요약

  1. 예외 처리(글로벌 예외 처리)
  2. 요청 데이터 유효성 검증
  3. 투표 시스템 호출 방식 변경

@mentor/mentor_2023.01

Closes #7

In GitLab by @luke on Jan 12, 2023, 17:07

Commented on voting-server/voting-server/src/main/java/gabia/votingserver/service/UserService.java line 52

혹시 서비스 계층에서 리포지토리 계층을 건너뛰고 바로 EntityManager를 호출하신 이유가 따로 있으실까요? 계층형 아키텍처와 추상화가 가져다주는 이점에 대해 한번 생각해보시면 좋을 것 같습니다.

의견 감사드립니다😊

Jpa Repository의 save는 저장 객체 대상이 새 객체인지 덮어 쓸 대상인지 확인을 위해
select query를 발생시킨 후 insert query를 발생 시키기 때문에,

위와 같은 중복 id 검사를 한 후 회원 가입 상황에선 불필요한 select query를 방지하기 위해 바로 영속성 컨텍스트를
사용하였습니다.

하지만 말씀 해주신 대로 계층 별 추상화 단계에 어긋나니 리포지토리에서 직접적인 insert query를사용하는
메서드를 선언한 후,
리포지토리를 통해 사용하는 방식으로 수정하는 것이 좋을 것 같다고 생각합니다..

In GitLab by @luke on Jan 12, 2023, 17:19

resolved all threads

In GitLab by @project_18_bot on Jan 12, 2023, 17:37

Commented on voting-server/voting-server/src/main/java/gabia/votingserver/service/UserService.java line 52

changed this line in version 2 of the diff

In GitLab by @project_18_bot on Jan 12, 2023, 17:37

added 2 commits

Compare with previous version

In GitLab by @project_18_bot on Jan 12, 2023, 17:44

added 1 commit

Compare with previous version

mentioned in commit 74e4060