
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.takensoft.common.message;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.http.HttpStatus;
/**
* @author takensoft
* @since 2025.01.22
* @modification
* since | author | description
* 2025.01.22 | takensoft | 최초 등록
* 2025.03.21 | 하석형 | FILE_UPLOAD_FAIL, COMMON_PROHIBITION_WORD 추가
*
* 시스템에서 발생할 수 있는 코드 메시지들을 정의
*/
@AllArgsConstructor
@Getter
public enum MessageCode {
// 공통
COMMON_SUCCESS("common.success", HttpStatus.OK), // 처리 성공
COMMON_UNKNOWN_ERROR("common.unknown", HttpStatus.INTERNAL_SERVER_ERROR), // 일반적인 오류 발생
COMMON_BAD_REQUEST("common.bad_request", HttpStatus.BAD_REQUEST), // 잘못된 요청
COMMON_NULL_POINT("common.null_point", HttpStatus.BAD_REQUEST), // NullPointer 발생
COMMON_ILLEGAL_ARGUMENT("common.illegal_argument", HttpStatus.BAD_REQUEST), // IllegalArgument 발생
COMMON_NOT_FOUND("common.not_found", HttpStatus.NOT_FOUND), // 정보가 존재 하지 않음
COMMON_METHOD_NOT_ALLOWED("common.method_not_allowed", HttpStatus.METHOD_NOT_ALLOWED), // 지원하지 않는 HTTP 메서드
COMMON_INSERT_FAIL("common.insert_fail", HttpStatus.INTERNAL_SERVER_ERROR), // 등록 실패 시
COMMON_UPDATE_FAIL("common.update_fail", HttpStatus.INTERNAL_SERVER_ERROR), // 수정 실패 시
COMMON_DELETE_FAIL("common.delete_fail", HttpStatus.INTERNAL_SERVER_ERROR), // 삭제 실패 시
COMMON_PAYLOAD_TOO_LARGE("common.payload_too_large",HttpStatus.PAYLOAD_TOO_LARGE), //파일 용량 초과 시
COMMON_DUPLICATION_CODE("common.duplication_code",HttpStatus.INTERNAL_SERVER_ERROR), //중복 코드
COMMON_DUPLICATION_DATA("common.duplication_data",HttpStatus.INTERNAL_SERVER_ERROR), //중복 데이터
COMMON_PROHIBITION_WORD("common.prohibition_word",HttpStatus.INTERNAL_SERVER_ERROR), //금지어 사용 시
COMMON_NO_CHANGE("common.no_change",HttpStatus.INTERNAL_SERVER_ERROR), //변경할 내용이 없음
//네트워크 관련
NETWORK_UNKNOWN_HOST("network.unknown_host", HttpStatus.BAD_REQUEST), // 알 수 없는 호스트
// SQL 관련
SQL_NULL_VALUE("sql.null_value", HttpStatus.BAD_REQUEST), // Null 값 위반
SQL_DUPLICATE_KEY("sql.duplicate_key", HttpStatus.CONFLICT), // 중복 키 위반
SQL_DATA_INTEGRITY("sql.data_integrity", HttpStatus.BAD_REQUEST), // 데이터 무결성 위반
SQL_UNKNOWN("sql.unknown", HttpStatus.INTERNAL_SERVER_ERROR), // 알 수 없는 SQL 에러
// jwt 관련
JWT_EXPIRED("jwt.expired", HttpStatus.UNAUTHORIZED), // JWT 토큰 만료
JWT_SIGNATURE_INVALID("jwt.signature_invalid", HttpStatus.UNAUTHORIZED), // JWT 서명 오류
JWT_INSUFFICIENT_AUTHENTICATION("jwt.insufficient_authentication", HttpStatus.FORBIDDEN), // 인증 정보 부족
// 접근 관련
ACCESS_DENIED("access.denied", HttpStatus.FORBIDDEN), // 권한 없음
UNAUTHORIZED_ACCESS("access.unauthorized", HttpStatus.UNAUTHORIZED), // 잘못된 접근
// 사용자 관련
SIGNUP_SUCCESS("user.signup.success", HttpStatus.OK), // 회원가입 성공
SIGNUP_ID_TAKEN("user.signup.id_taken", HttpStatus.CONFLICT), // 아이디 중복
SIGNUP_EMAIL_TAKEN("user.signup.email_taken", HttpStatus.CONFLICT), // 이메일 중복
SIGNUP_MBL_TELNO_TAKEN("user.signup.mbl_telno_taken", HttpStatus.CONFLICT), // 휴대폰번호 중복
LOGIN_USER_NOT_FOUND("user.login.user_not_found", HttpStatus.NOT_FOUND), // 사용자가 존재 하지 않는 경우
LOGIN_INVALID_CREDENTIALS("user.login.invalid_credentials", HttpStatus.UNAUTHORIZED), // 비밀번호 불일치
LOGIN_AUTHENTICATION_REQUIRED("user.login.authentication_required", HttpStatus.FORBIDDEN), // 인증 거부
LOGIN_ACCOUNT_LOCKED("user.login.account_locked", HttpStatus.LOCKED), // 계정 잠김 상태
LOGIN_ACCOUNT_DISABLED("user.login.account_disabled", HttpStatus.FORBIDDEN), // 계정 비활성화
LOGIN_ACCOUNT_EXPIRED("user.login.account_expired", HttpStatus.FORBIDDEN), // 계정 만료
LOGIN_CREDENTIALS_EXPIRED("user.login.credentials_expired", HttpStatus.FORBIDDEN), // 비밀번호 유효기간 만료
LOGOUT_SUCCESS("user.logout.success", HttpStatus.OK), // 로그아웃 성공
// 파일 관련
FILE_UPLOAD_FAIL("file.upload_fail", HttpStatus.INTERNAL_SERVER_ERROR), // 파일 업로드 실패
// 인증 관련
CERTIFY_CODE_SEND_SUCCESS("certify.send_success", HttpStatus.OK), // 인증 코드 발송 성공
CERTIFY_CODE_SEND_FAIL("certify.send_fail", HttpStatus.INTERNAL_SERVER_ERROR), // 인증 코드 발송 실패
CERTIFY_SUCCESS("certify.certify_success", HttpStatus.OK), // 인증 성공
CERTIFY_EXPIRED("certify.certify_expired", HttpStatus.UNAUTHORIZED), // 인증 만료
CERTIFY_FAIL("certify.certify_fail", HttpStatus.UNAUTHORIZED), // 인증 실패
CERTIFY_CODE_NOT_MATCH("certify.code_not_match", HttpStatus.UNAUTHORIZED), // 인증 코드 불일치
//소셜 로그인 관련
OAUTH2_LOGIN_ERROR("oauth2.login_error", HttpStatus.INTERNAL_SERVER_ERROR), //소셜 로그인 실패
OAUTH2_ACCESS_DENIED("oauth2.access_denied", HttpStatus.FORBIDDEN), // 사용자 인증 취소
OAUTH2_INVALID_REQUEST("oauth2.invalid_request", HttpStatus.BAD_REQUEST), // 잘못된 소셜 로그인 요청
OAUTH2_UNAUTHORIZED_CLIENT("oauth2.unauthorized_client", HttpStatus.UNAUTHORIZED), // 인증 되지 않은 클라이언트
OAUTH2_SERVER_ERROR("oauth2.server_error", HttpStatus.INTERNAL_SERVER_ERROR); // 소셜로그인 서버 오류
private final String messageKey; // 메시지
private final HttpStatus status; // HTTP 상태
}