[4기 - 안재영] SpringBoot Part3 Weekly Mission PR 제출합니다. - #862
Open
JaeyoungAhn wants to merge 11 commits into
Open
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 과제 설명 및 요구사항
(기본) 바우처 서비스 관리페이지 개발하기
(기본) 바우처 서비스의 API 개발하기
구조 및 흐름
👩💻 구현 내용
2주차 피드백 반영
refactor : 콘솔 실행 관련 클래스 위치 view 밖으로 이동
refactor : GlobalExceptionHandler 패키지 변경
rename : 가독성 향상을 위해 enum class 내 변수명 변경
refactor : 가독성을 위해 short이 아닌 int 타입으로 데이터를 다루도록 변경
refactor : null 관련 검증 코드 추가
refactor : 추후 테스팅 용이성을 위해 추상화 된 UUID 생성 클래스를 주입하는 것으로 변경
refactor : NumberFormatException을 Global Exception Handler에서 에러 처리하도록 변경
fix : UUID Generator 수정에 따라 제어 요구사항이 필요하지 않은 테스트 코드 수정
refactor : 일부 익셉션을 @ControllerAdvice를 통해 처리하도록 변경
3주차
feat : @ControllerAdvice를 이용한 글로벌 익셉션 핸들링
feat : 바우처 도메인 관련 json, xml, thymeleaf 지원
✅ PR 포인트 & 궁금한 점
프로젝트 전체적으로 문제는 없는지 궁금합니다!
validation은 NullPointerException을 내지 않게끔 하는 것에서 충분한지 아니면 더 많은 검증을 해야하는지 궁금합니다. 예를 들어서 DTO에 시작 시간, 끝 시간 두 가지가 LocalDateTime이라는 타입으로 들어오는데, 이것이 null이 아닌 것을 조사하는 것에서 끝나지 않고 더 나아가서, 끝 시간이 시작 시간보다 뒤에 있다는 것을 검증해주는 것이 맞는지 고민이 되는데, 여기서 더 나아가서 그렇다면 애초에 년도 데이터 형식이 올바른지도 검증을 해야할 것 같고, 더 나아가서 이제 2023년인데 2024년 2022년 같은 원치않는 데이터가 들어오면 어떻게 해야하는지와 같은 끝이 없는 고민을 하게 되는 것 같습니다.