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

Refactor/1365 커스텀 예외 수정 #1431

Merged
merged 52 commits into from
Jul 19, 2023

Conversation

This2sho
Copy link
Contributor

#️⃣연관된 이슈

#1365

📝작업 내용

BadRequestException

변경 전

@Getter
public class BadRequestException extends RuntimeException {

    private BadRequestCode codeAndMessage = BadRequestCode.findByClass(this.getClass());

    private String message;
    private int code;

    public BadRequestException() {
        this.message = codeAndMessage.getMessage();
        this.code = codeAndMessage.getCode();
    }
}

변경 후

@Getter
public class BadRequestException extends RuntimeException {

    private String message;
    private int code;

    public BadRequestException(BadRequestCode badRequestCode) {
        this.message = badRequestCode.getMessage();
        this.code = badRequestCode.getCode();
    }
}
  • 생성자에서 BadRequestCode를 받게해서 무조건 예외 등록을 하도록 수정

BadRequestCode

변경 전

@AllArgsConstructor
@Getter
public enum BadRequestCode {
    NOT_FOUND_ERROR_CODE(0000, "해당 에러의 에러코드를 찾을 수 없습니다.", NotFoundErrorCodeException.class),

    ...

    CURRICULUM_NOT_FOUND_EXCEPTION(8007, "해당하는 커리큘럼을 찾을 수 없습니다", CurriculumNotFoundException.class);

    private int code;
    private String message;
    private Class<? extends BadRequestException> type;

    public static BadRequestCode findByClass(Class<?> type) {
        return Arrays.stream(BadRequestCode.values())
            .filter(code -> code.type.equals(type))
            .findAny()
            .orElseThrow(NotFoundErrorCodeException::new);
    }

}
public class NotFoundErrorCodeException extends BadRequestException {

}
public class CurriculumNotFoundException extends BadRequestException {

}

변경 후

@AllArgsConstructor
@Getter
public enum BadRequestCode {
    NOT_FOUND_ERROR_CODE(0000, "해당 에러의 에러코드를 찾을 수 없습니다."),
		
		... 

    ROADMAP_KEYWORD_SEQUENCE_EXCEPTION(8007, "키워드 시퀀스가 유효하지 않습니다.");

    private int code;
    private String message;
}
  • 복잡한 Custom 예외 다 삭제 ⇒ BadRequestCode만 관리하도록 변경 (CustomException 만들 필요 없음)

실제 코드 작성에서 바뀐 부분

변경 전

public MemberTags(List<MemberTag> values) {
        final int originalSize = values.size();
        final long count = values.stream().distinct().count();
        if(originalSize != count) throw new DuplicateMemberTagException();
        this.values = values;
    }

변경 후

public MemberTags(List<MemberTag> values) {
        final int originalSize = values.size();
        final long count = values.stream().distinct().count();
        if (originalSize != count) {
            throw new BadRequestException(DUPLICATE_MEMBER_TAG);
        }

        this.values = values;
    }
  • 기존에는 CustomException을 알고 있었다면, 바뀐 후에는 BadRequestCode를 알고 있도록 변경

Creative-Lee and others added 30 commits July 9, 2023 23:06
네브바 아티클 탭 추가로 인해 일부 탭이 가려지는 현상이 발생하였음
sm 사이즈부터 작은 로고가 적용되도록 수정
Feature/#1385 아티클 조회, 생성 api 로직을 구현한다.
1. 불필요한 async 키워드 제거
2. type 지정
…-main-page

Feature/#1371 아티클 조회 페이지 구현
- files를 통해서 서버에서 동작할 filebeat.yml을 만드는 스크립트를 작성

- command를 통해 filebeat를 설치하고, files를 통해 생성했던 스크립트를 실행하고 나서 filebeat.yml 실행
Refactor/#1403 api axios 사용하는 파일 리팩터링
GC-Park and others added 17 commits July 14, 2023 16:41
Feature/#1396 키워드 엔티티에 추천 포스트 URL 필드 추가
…er-page

Feature/1368 아티클 생성 페이지 구현
…unction

Feature/#1354 아티클 CRUD 기능 구현
…dylogs

Fix/#1412 인기 학습로그 필터링 복구 재시도
@This2sho This2sho added the BE label Jul 19, 2023
@This2sho This2sho added this to the 2023 레벨3 milestone Jul 19, 2023
@This2sho This2sho self-assigned this Jul 19, 2023
@sonarcloud
Copy link

sonarcloud bot commented Jul 19, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 14 Code Smells

65.9% 65.9% Coverage
1.0% 1.0% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

@splitCoding
Copy link
Contributor

호이 쓰러지는거 아니죠?

@This2sho
Copy link
Contributor Author

호이 쓰러지는거 아니죠?

뒷목잡고 쓰러질뻔했어여

@This2sho This2sho merged commit f03c1a4 into main Jul 19, 2023
1 of 2 checks passed
@splitCoding
Copy link
Contributor

호이 쓰러지는거 아니죠?

뒷목잡고 쓰러질뻔했어여

수고햇어유우ㅋㅋ

@java-saeng
Copy link
Contributor

java-saeng commented Jul 19, 2023

호이 고생하셨습니다,,

그런데 제가 했던 것들이 왜 호이 커밋에 포함되어있는거죠,,? ㅋㅋㅋㅋ

괜찮을 줄 알았는데,, 아직 main 에 들어가야하지 말 것이 들어가있습니다,,

커밋 에서
image
이 파일입니다,,

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

Successfully merging this pull request may close these issues.

9 participants