ErrorCode - KimGyuBek/Threadly GitHub Wiki

ErrorCode


ꡬ성

  • code: μ—λŸ¬ μ½”λ“œ λ¬Έμžμ—΄ (예: TLY0000)
  • desc: μ—λŸ¬ μ„€λͺ… λ©”μ‹œμ§€
  • httpStatus: HTTP μƒνƒœ μ½”λ“œ (Spring HttpStatus)

전체 μ—λŸ¬ μ½”λ“œ λͺ©λ‘

  /*곡톡*/
INTERNAL_SERVER_ERROR("TLY0000", "μ—λŸ¬κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.INTERNAL_SERVER_ERROR),
INVALID_REQUEST("TLY0001", "잘λͺ»λœ μš”μ²­μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
ACCESS_DENIED("TLY0002", "접근이 κ±°λΆ€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),

/*Token*/
TOKEN_EXPIRED("TLY1000", "토큰이 λ§Œλ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.UNAUTHORIZED),
TOKEN_INVALID("TLY1001", "μœ νš¨ν•˜μ§€ μ•Šμ€ ν† ν°μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
TOKEN_MISSING("TLY1002", "토큰이 μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),

/*Email*/
EMAIL_SENDING_FAILED("TLY1100", "메일 전솑쀑 였λ₯˜ λ°œμƒ", HttpStatus.BAD_GATEWAY),
EMAIL_CODE_NOT_PROVIDED("TLY1101", "인증 μ½”λ“œκ°€ μ œκ³΅λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
EMAIL_CODE_INVALID("TLY1102", "μœ νš¨ν•˜μ§€ μ•Šμ€ 인증 μ½”λ“œμž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
EMAIL_CODE_EXPIRED("TLY1103", "인증 μ½”λ“œκ°€ λ§Œλ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.GONE),
EMAIL_ALREADY_VERIFIED("TLY1104", "이미 인증이 μ™„λ£Œλœ μ΄λ©”μΌμž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
EMAIL_USER_NOT_FOUND("TLY1105", "ν•΄λ‹Ή 이메일에 λŒ€ν•œ μ‚¬μš©μžλ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.NOT_FOUND),
EMAIL_FORMAT_INVALID("TLY1106", "이메일 ν˜•μ‹μ΄ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
EMAIL_REQUEST_INVALID("TLY1107", "잘λͺ»λœ 인증 μš”μ²­μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),

/*User*/
USER_NOT_FOUND("TLY2000", "μ‚¬μš©μžκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.", HttpStatus.NOT_FOUND),
USER_ALREADY_EXISTS("TLY2001", "이미 μ‘΄μž¬ν•˜λŠ” μ‚¬μš©μžμž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
USER_INACTIVE("TLY2002", "λΉ„ν™œμ„±ν™”λœ μ‚¬μš©μžμž…λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
INVALID_PASSWORD("TLY2003", "νŒ¨μŠ€μ›Œλ“œκ°€ μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.", HttpStatus.UNAUTHORIZED),
ACCOUNT_DISABLED("TLY2004", "λΉ„ν™œμ„±ν™” 된 κ³„μ •μž…λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
ACCOUNT_LOCKED("TLY2005", "잠긴 κ³„μ •μž…λ‹ˆλ‹€.", HttpStatus.LOCKED),
AUTHENTICATION_ERROR("TLY2006", "인증 μ—λŸ¬", HttpStatus.UNAUTHORIZED),
USER_AUTHENTICATION_FAILED("TLY2007", "아이디 λ˜λŠ” λΉ„λ°€λ²ˆν˜Έκ°€ μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.", HttpStatus.UNAUTHORIZED),
DUPLICATE_USER_NAME("TLY2008", "이미 μ‚¬μš© 쀑인 μ‚¬μš©μž μ΄λ¦„μž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
DUPLICATE_EMAIL("TLY2009", "이미 μ‚¬μš© 쀑인 μ΄λ©”μΌμž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
PASSWORD_REQUIRED("TLY2010", "νŒ¨μŠ€μ›Œλ“œλŠ” ν•„μˆ˜μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
INVALID_USER_STATUS("TLY2011", "μœ νš¨ν•˜μ§€ μ•Šμ€ μ‚¬μš©μž μƒνƒœμž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
USER_ALREADY_DELETED("TLY2012", "νƒˆν‡΄ν•œ μ‚¬μš©μžμž…λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
EMAIL_NOT_VERIFIED("TLY2013", "이메일 인증이 ν•„μš”ν•©λ‹ˆλ‹€.", HttpStatus.UNAUTHORIZED),
EMAIL_VERIFICATION_FAILED("TLY2014", "이메일 인증에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
SECOND_VERIFICATION_FAILED("TLY2015", "2μ°¨ 인증에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
LOGIN_ATTEMPT_EXCEEDED("TLY2016", "둜그인 μ‹œλ„ 횟수λ₯Ό μ΄ˆκ³Όν•˜μ˜€μŠ΅λ‹ˆλ‹€.", HttpStatus.TOO_MANY_REQUESTS),
USER_BANNED("TLY2017", "μš΄μ˜μžμ— μ˜ν•΄ μ°¨λ‹¨λœ κ³„μ •μž…λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),

/*UserProfile*/
USER_PROFILE_NOT_FOUND("TLY2100", "μ‚¬μš©μž ν”„λ‘œν•„μ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.NOT_FOUND),
USER_PROFILE_NOT_SET("TLY2101", "μ‚¬μš©μž ν”„λ‘œν•„μ΄ μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
USER_PROFILE_ALREADY_SET("TLY2102", "이미 ν”„λ‘œν•„μ„ μ„€μ •ν•œ μ‚¬μš©μžμž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
USER_NICKNAME_DUPLICATED("TLY2103", "이미 μ‘΄μž¬ν•˜λŠ” λ‹‰λ„€μž„μž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
USER_PROFILE_PRIVATE("TLY2104", "λΉ„κ³΅κ°œ κ³„μ •μž…λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),

/*Follow*/
SELF_FOLLOW_REQUEST_NOT_ALLOWED("TLY2200", "μžμ‹ μ—κ²ŒλŠ” νŒ”λ‘œμš° μš”μ²­μ„ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
FOLLOW_RELATION_NOT_FOUND("TLY2201", "νŒ”λ‘œμš° 관계가 μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.", HttpStatus.NOT_FOUND),
FOLLOW_REQUEST_FORBIDDEN("TLY2202", "νŒ”λ‘œμš° μš”μ²­μ— λŒ€ν•œ κΆŒν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),

/*Post*/
POST_NOT_FOUND("TLY3000", "κ²Œμ‹œκΈ€μ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.NOT_FOUND),
POST_ALREADY_DELETED("TLY3001", "이미 μ‚­μ œλœ κ²Œμ‹œκΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_UPDATE_FORBIDDEN("TLY3002", "κ²Œμ‹œκΈ€μ„ μˆ˜μ •ν•  κΆŒν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
POST_DELETE_FORBIDDEN("TLY3003", "κ²Œμ‹œκΈ€μ„ μ‚­μ œν•  κΆŒν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
POST_LIKE_DUPLICATED("TLY3004", "이미 μ’‹μ•„μš”λ₯Ό λˆ„λ₯Έ κ²Œμ‹œκΈ€μž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
POST_LIKE_NOT_FOUND("TLY3005", "μ’‹μ•„μš”λ₯Ό λˆ„λ₯΄μ§€ μ•Šμ€ κ²Œμ‹œκΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_DELETE_BLOCKED("TLY3006", "μ°¨λ‹¨λœ κ²Œμ‹œκΈ€μ€ μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_ALREADY_DELETED_ACTION("TLY3007", "이미 μ‚­μ œλœ κ²Œμ‹œκΈ€μ€ λ‹€μ‹œ μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_BLOCKED("TLY3008", "λΈ”λΌμΈλ“œ 된 κ²Œμ‹œκΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_ARCHIVED("TLY3009", "λΉ„κ³΅κ°œ 처리된 κ²Œμ‹œκΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_LIKE_NOT_ALLOWED("TLY3010", "μ‚­μ œλ˜μ—ˆκ±°λ‚˜ μ°¨λ‹¨λœ κ²Œμ‹œκΈ€μ—λŠ” μ’‹μ•„μš”λ₯Ό λˆ„λ₯Ό 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_NOT_ACCESSIBLE("TLY3011", "이 κ²Œμ‹œκΈ€μ€ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),

/*PostComment*/
POST_COMMENT_NOT_FOUND("TLY3100", "λŒ“κΈ€μ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.NOT_FOUND),
POST_COMMENT_ALREADY_DELETED("TLY3101", "이미 μ‚­μ œλœ λŒ“κΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_DELETE_FORBIDDEN("TLY3102", "λŒ“κΈ€μ„ μ‚­μ œν•  κΆŒν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
POST_COMMENT_WRITE_FORBIDDEN("TLY3103", "λŒ“κΈ€μ„ μž‘μ„±ν•  κΆŒν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
POST_COMMENT_CONTENT_EMPTY("TLY3104", "λŒ“κΈ€ λ‚΄μš©μ΄ λΉ„μ–΄μžˆμŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_LIKE_DUPLICATED("TLY3105", "이미 μ’‹μ•„μš”λ₯Ό λˆ„λ₯Έ λŒ“κΈ€μž…λ‹ˆλ‹€.", HttpStatus.CONFLICT),
POST_COMMENT_LIKE_NOT_FOUND("TLY3106", "μ’‹μ•„μš”λ₯Ό λˆ„λ₯΄μ§€ μ•Šμ€ λŒ“κΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_DELETE_BLOCKED("TLY3107", "μ°¨λ‹¨λœ λŒ“κΈ€μ€ μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_PARENT_POST_INACTIVE("TLY3108", "λŒ“κΈ€μ΄ μ†ν•œ κ²Œμ‹œκΈ€μ€ ν˜„μž¬ μˆ˜μ •/μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_LIKE_NOT_ALLOWED("TLY3109", "μ‚­μ œλ˜μ—ˆκ±°λ‚˜ μ°¨λ‹¨λœ λŒ“κΈ€μ—λŠ” μ’‹μ•„μš”λ₯Ό λˆ„λ₯Ό 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_BLOCKED("TLY3110", "μ°¨λ‹¨λœ λŒ“κΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_DELETED("TLY3111", "μ‚­μ œλœ λŒ“κΈ€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_COMMENT_NOT_ACCESSIBLE("TLY3112", "이 λŒ“κΈ€μ€ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),

/*Image*/
IMAGE_NOT_FOUND("TLY4000", "이미지λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.NOT_FOUND),
IMAGE_INVALID_EXTENSION("TLY4001", "ν—ˆμš©λ˜μ§€ μ•ŠλŠ” 파일 ν™•μž₯μžμž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
IMAGE_INVALID_MIME_TYPE("TLY4002", "μœ νš¨ν•˜μ§€ μ•Šμ€ 이미지 MIME νƒ€μž…μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
IMAGE_TOO_LARGE("TLY4003", "이미지 파일 크기가 λ„ˆλ¬΄ ν½λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
IMAGE_UPLOAD_FAILED("TLY4004", "이미지 μ—…λ‘œλ“œμ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.INTERNAL_SERVER_ERROR),
IMAGE_INVALID_IMAGE("TLY4005", "잘λͺ»λœ 이미지 파일 μž…λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
IMAGE_EXTENSION_MISMATCH("TLY4006", "ν™•μž₯μžκ°€ μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
IMAGE_ASPECT_RATIO_INVALID("TLY4007", "ν—ˆμš©λ˜μ§€ μ•ŠλŠ” 이미지 λΉ„μœ¨μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),

/*PostImage*/
POST_IMAGE_UPLOAD_LIMIT_EXCEEDED("TLY4100", "μ΅œλŒ€ μ—…λ‘œλ“œ κ°€λŠ₯ν•œ 이미지 수λ₯Ό μ΄ˆκ³Όν–ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_IMAGE_OWNER_MISMATCH("TLY4101", "μ‚¬μš©μžμ—κ²Œ ν•΄λ‹Ή κ²Œμ‹œκΈ€ 이미지에 λŒ€ν•œ κΆŒν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),
POST_IMAGE_ALREADY_ATTACHED("TLY4102", "이미 κ²Œμ‹œκΈ€μ— μ²¨λΆ€λœ μ΄λ―Έμ§€μž…λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_IMAGE_TEMP_EXPIRED("TLY4103", "μž„μ‹œ μ—…λ‘œλ“œ μ΄λ―Έμ§€μ˜ 유효 μ‹œκ°„μ΄ λ§Œλ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.", HttpStatus.GONE),
POST_IMAGE_EMPTY("TLY4104", "κ²Œμ‹œκΈ€μ—λŠ” μ΅œμ†Œ ν•œ μž₯의 이미지λ₯Ό 첨뢀해야 ν•©λ‹ˆλ‹€.", HttpStatus.BAD_REQUEST),
POST_IMAGE_UPLOAD_FORBIDDEN("TLY4105", "κ²Œμ‹œκΈ€ 이미지 μ—…λ‘œλ“œ κΆŒν•œμ΄ μ—†μŠ΅λ‹ˆλ‹€.", HttpStatus.FORBIDDEN),

/*UserProfileImage*/
USER_PROFILE_IMAGE_NOT_EXISTS("TLY4200", "μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ΄λ―Έμ§€μž…λ‹ˆλ‹€.", HttpStatus.NOT_FOUND);