team-coderder / Backend

일정 관리 웹 서비스 - 백엔드
0 stars 0 forks source link

#50 refactor : Exception 처리가 의도한 바대로 되지 않는 문제 해결 #56

Closed JinJiyeon closed 1 year ago

JinJiyeon commented 1 year ago

원하는 바

status_code = 404
"code": "MEMBER_NOT_FOUND",
"message": "회원을 찾을 수 없습니다."

1) status code가 500이 아닌 400, 401, 404 가 나온다 2) 의도한 code와 message가 나온다 3) 의도한 code, message 외에 나오지 않는다

문제

// 경우1
status_code = 500

// 경우2
status_code = 404
"cause": null,
    "stackTrace": [
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "notFoundExceptionHandler",
            "fileName": "GlobalExceptionHandler.java",
            "lineNumber": 15,
            "className": "com.coderder.colorMeeting.exception.GlobalExceptionHandler",
            "nativeMethod": false
        },
JinJiyeon commented 1 year ago

경우1 해결 ErrorResponse 는 일종의 dto. 실제로 exception handler에도 등록된 내용이 없음

// 틀린 예
throw new ErrorResponse(MEMBER_NOT_FOUND);
// 옳은 예
throw new BadRequestException(USERNAME_ALREADY_EXISTS);