feat: 에러코드 규격화#107
Hidden character warning
Conversation
| INVALID_INPUT_VALUE(400, "COMMON-001", "유효성 검증에 실패했습니다."), | ||
| INTERNAL_SERVER_ERROR(500,"COMMON-002", "서버에서 처리할 수 없습니다."), |
There was a problem hiding this comment.
INTERNAL_ERROR(INTERNAL_SERVER_ERROR, "내부 서버 에러가 발생했습니다. 관리자에게 문의 바랍니다."),
METHOD_ARGUMENT_NULL(BAD_REQUEST, "인자는 null이 될 수 없습니다."),
METHOD_ARGUMENT_NOT_VALID(BAD_REQUEST, "인자가 유효하지 않습니다."),
REGEX_VIOLATION(BAD_REQUEST, "정규표현식을 위반했습니다."),
FORBIDDEN_ACCESS(FORBIDDEN, "접근 권한이 없습니다."),상태코드 숫자를 이렇게 상수로 적으면 가독성이 더 좋을 것 같은데 어떻게 생각하시나요?
(위 코드에서 상수는 이미 정의된 org.springframework.http.HttpStatus.*; 패키지 상수를 가져다가 사용한 케이스입니다)
There was a problem hiding this comment.
좋은거 같습니다! 그럼 숫자는 상수로 적고 "COMMON-001" <- 이 도메인 코드는 그대로 남기면 되겟죠??
| @Pattern(regexp = STUDENT_ID_REGEX, message = "학번 형식이 올바르지 않습니다.") | ||
| String studentId, | ||
| @Email(message = EMAIL_INVALID_FORMAT) | ||
| @Email(message = "이메일 형식이 올바르지 않습니다.") |
There was a problem hiding this comment.
request 에서 검증 메서드의 상수화가 사라지는 부분이 아쉬운 것 같은데, 에러 메세지에 대한 상수와 에러 코드 포맷을 같이 가져가서, 에러 코드 포맷 내에서 상수 메세지를 같이 활용하는 건 어떻게 생각하시나요?
There was a problem hiding this comment.
STUDENT_ID_INVALID_FORMAT(null, "", "학번 형식이 올바르지 않습니다.");
제가 이해한게 맞다면 ErrorCode에 요런 형식의 값을 추가해서 메시지 필드를 활용하는거 맞을까요??
There was a problem hiding this comment.
아아아 기존 에러메시지 상수 클래스를 그대로 운영하면서 에러 코드 포맷에서 에러메시지 상수를 사용하는 방법인건가요???
There was a problem hiding this comment.
제가 말을 어렵게 적었었네요.. 에러메세지 상수 클래스와 에러 코드 포맷 같이 유지하는 방식 맞습니다!
There was a problem hiding this comment.
좋을 것 같습니다!! 저도 저 부분 아쉬웠어서 에러메시지 클래스 다시 살려보겠습니다~
There was a problem hiding this comment.
MEMBER_NOT_EXISTS_WITH_STUDENT_ID(NOT_FOUND, "MEMBER-001", ErrorMessage.MEMBER_NOT_EXISTS_WITH_STUDENT_ID),
DUPLICATED_STUDENT_ID(CONFLICT, "MEMBER-002", ErrorMessage.DUPLICATED_STUDENT_ID),
DUPLICATED_EMAIL(CONFLICT, "MEMBER-003", ErrorMessage.DUPLICATED_EMAIL),
PASSWORD_IS_DIFFERENT_FROM_CHECK(BAD_REQUEST, "MEMBER-004", ErrorMessage.PASSWORD_IS_DIFFERENT_FROM_CHECK),에러 코드 포맷 내의 메세지까지 상수 메세지를 활용하려니까 오히려 ErrorCode 클래스를 봤을 때 정보성이 떨어지는 것 같습니다...ㅠㅠ
Pattern에 들어가는 메세지만 상수화 시키고 에러 코드 포맷의 메세지는 문자열을 사용하는 건 어떨까요?
There was a problem hiding this comment.
혹시 ErrorMessage. 부분을 제거해도 (정적 임포트) 비슷하게 보일까요?
There was a problem hiding this comment.
MEMBER_NOT_EXISTS_WITH_STUDENT_ID(NOT_FOUND, "MEMBER-001", MEMBER_NOT_EXISTS_WITH_STUDENT_ID),
DUPLICATED_STUDENT_ID(CONFLICT, "MEMBER-002", DUPLICATED_STUDENT_ID),
DUPLICATED_EMAIL(CONFLICT, "MEMBER-003", DUPLICATED_EMAIL),
PASSWORD_IS_DIFFERENT_FROM_CHECK(BAD_REQUEST, "MEMBER-004", PASSWORD_IS_DIFFERENT_FROM_CHECK),이런식으로 나오는데 이전에 있었던 상황처럼
프론트 측에서 백엔드에 잘못된 api 반환으로 "~"의 에러메세지가 온다 라고 확인 요청이 들어왔을 때
에러코드를 보면서 메세지를 확인하려면 에러메세지 클래스와 왔다갔다 하면서 확인해야 하는게 정보성이 떨어진다고 생각했습니다..!
+) 그리고 지금 에러코드와 연관된 에러메세지의 이름이 같아서 정적 임포트를 사용하려면 한쪽의 이름을 다 바꾸어야 하는 상황입니다ㅠ
There was a problem hiding this comment.
아하 그렇군요ㅠㅠ
그러면 말씀하신 방향대로 에러코드 포맷에서는 그냥 문자열을 사용하는 걸로 가죠 👍
작업 내용
특이 사항 (리뷰 시 참고할 내용)
관련 이슈
close #106