예외 처리

예외 Response-Body

요청 데이터 형식 에러

NameTypeDescription

timestamp

String

api 요청 시간

status

Integer

응답 상태 코드

error

String

응답 상태 코드 이름

code

String

커스텀 에러 코드

message

String

커스텀 에러 메시지

defaultMessages

Array

요청 형식이 잘못된 필드에 대한 에러 메시지

서비스 내부 에러

NameTypeDescription

timestamp

String

api 요청 시간

status

Integer

응답 상태 코드

error

Strin

응답 상태 코드 이름

code

String

커스텀 에러 코드

message

String

커스텀 에러 메시지

예외 목록

도메인 관련 예외

📌 auth

예외 설명에러 코드 이름상태 코드에러 코드 메시지

해당 유저가 없는 경우

USER_NOT_FOUND

NOT_FOUND

해당 유저를 찾을 수 없습니다.

토큰 재발급 시 access token이 유효하지 않은 경우 (by. 토큰 변조)

INVALID_ACCESS_TOKEN

BAD_REQUEST

access token이 변조되어 유효하지 않습니다.

토큰 재발급 시 해당 user의 refresh token이 없는 경우

REFRESH_TOKEN_NOT_FOUND

NOT_FOUND

해당 유저의 refresh token이 없습니다. 재로그인을 진행합니다.

토큰 재발급 시 refresh token이 유효하지 않은 경우

INVALID_REFRESH_TOKEN

BAD_REQUEST

refresh token이 일치하지 않습니다. 재로그인을 진행합니다.

인증되지 않은 유저가 인증이 필요한 api 호출하는 경우

(controller 전 filter에서 발생하는 에러로 global handler에서 처리 불가)

UNAUTHORIZED

Full authentication is required to access this resource

📌 profile

예외 설명에러 코드 이름상태 코드에러 코드 메시지

현재 로그인한 이용자의 프로필이 없는 경우

PROFILE_NOT_FOUND

NOT_FOUND

현재 프로필이 등록되어 있지 않습니다. 프로필 등록을 진행합니다.

해당 staff 프로필이 없는 경우

STAFF_PROFILE_NOT_FOUND_BY_ID

NOT_FOUND

해당 알바생이 없습니다.

해당 이메일을 가진 staff 프로필이 없는 경우

STAFF_PROFILE_NOT_FOUND_BY_EMAIL

NOT_FOUND

해당 이메일을 가진 알바생이 없습니다.

해당 워크스페이스의 boss 프로필이 없는 경우

BOSS_PROFILE_NOT_FOUND_BY_WORKSPACE

NOT_FOUND

해당 워크스페이스의 사장님이 없습니다.

📌 workspace

예외 설명에러 코드 이름상태 코드에러 코드 메시지

해당 워크스페이스가 없는 경우

WORKSPACE_NOT_FOUND

NOT_FOUND

해당 워크스페이스가 없습니다.

이미 존재하는 워크스페이스와 사업자 번호가 같은 워크스페이스 생성 요청하는 경우

ALREADY_EXIST_WORKSPACE

BAD_REQUEST

해당 사업자 번호의 워크스페이스가 이미 존재합니다.

해당 워크스페이스의 멤버인 알바를 다시 초대하는 경우

ALREADY_EXIST_STAFF_IN_WORKSPACE

BAD_REQUEST

해당 알바는 이미 해당 워크스페이스의 멤버입니다.

📌 schedule

예외 설명에러 코드 이름상태 코드에러 코드 메시지

해당 스케줄이 없는 경우

SCHEDULE_NOT_FOUND

NOT_FOUND

해당 스케줄이 없습니다.

해당 알바가 해당 스케줄 날짜시간에 다른 스케줄이 이미 존재하는 경우

INVALID_SCHEDULE_WORKER

BAD_REQUEST

해당 알바는 해당 스케줄 시간에 근무 불가합니다. 다른 알바를 선택합니다.

스케줄 상태가 BEFORE_WORK가 아닌 스케줄에 대해 취소 요청한 경우

INVALID_SCHEDULE_CANCEL

BAD_REQUEST

스케줄 시작 전인 경우에만 취소 가능합니다.

(스케줄 시작 날짜시간 - 10분) 보다 전에 해당 스케줄에 대해 출근 요청한 경우

EARLY_SCHEDULE_START

BAD_REQUEST

해당 스케줄 시작 10분 전부터 출근 가능합니다.

스케줄 종료 날짜시간 이후에 해당 스케줄에 대해 출근 요청한 경우

LATE_SCHEDULE_START

BAD_REQUEST

해당 스케줄이 종료되어 출근 불가합니다.

해당 스케줄에 대해 출근하지 않은 상태로 퇴근 요청한 경우

INVALID_SCHEDULE_END

BAD_REQUEST

출근 상태일 때에만 퇴근 가능합니다.

📌 substituteReq

예외 설명에러 코드 이름상태 코드에러 코드 메시지

해당 id의 대타근무 요청건이 없는 경우

SUBSTITUTEREQ_NOT_FOUND

NOT_FOUND

해당 대타근무 요청건을 찾을 수 없습니다.

이미 상대방에 의해 수락 혹은 거절된 대타근무 요청을 취소할 경우

ALREADY_PROCESSED_REQ

BAD_REQUEST

이미 수락 혹은 거절된 요청이므로 취소할 수 없습니다.

📌 notification

예외 설명에러 코드 이름상태 코드에러 코드 메시지

해당 유저의 알림을 위한 디바이스 토큰이 없는 경우

NOTIFICATION_NOT_FOUND

NOT_FOUND

해당 유저의 알림정보를 찾을 수 없습니다. 디바이스 토큰을 등록합니다.

📌 invitation

예외 설명에러 코드 이름상태 코드에러 코드 메시지

해당 알바에게 보낸 유효한 워크스페이스 초대장이 이미 존재하는 경우

ALREADY_EXIST_VALID_INVITATION

BAD_REQUEST

유효한 초대장이 이미 존재합니다.

해당 초대장이 없는 경우

INVITATION_NOT_FOUND

NOT_FOUND

해당 초대장을 찾을 수 없습니다.

해당 초대장이 만료된 경우

EXPIRED_INVITATION_LINK

BAD_REQUEST

만료된 초대 링크입니다.

📌 공통

예외 설명에러 코드 이름상태 코드에러 코드 메시지

Boss가 Staff API 요청하는 경우 또는 Staff가 Boss API 요청하는 경우

FORBIDDEN

Forbidden

DTO validation을 만족하지 않는 요청이 들어온 경우

INVALID_REQUEST_FIELD

BAD_REQUEST

유효하지 않은 요청 필드입니다.

외부 API 관련 예외

📌 social login

예외 설명에러 코드 이름상태 코드에러 코드 메시지

로그인 시 프론트로부터 전달받은 토큰이 유효하지 않은 경우

INVALID_SOCIAL_TOKEN

INTERNAL_SERVER_ERROR

유효하지 않은 소셜 토큰입니다.

📌 mail

예외 설명에러 코드 이름상태 코드에러 코드 메시지

해당 이메일에 대한 메일 발송에 실패한 경우

EMAIL_SEND_ERROR

INTERNAL_SERVER_ERROR

이메일 발송에 실패하였습니다.

📌 google calendar oauth

예외 설명에러 코드 이름상태 코드에러 코드 메시지

구글 캘린더에 대한 접근 권한이 없는 경우

NOPERMISSION_TO_CALENDAR

UNAUTHORIZED

해당 캘린더에 접근할 수 없습니다.

📌 aws s3

예외 설명에러 코드 이름상태 코드에러 코드 메시지

aws s3에 파일을 업로드하지 못한 경우

FILE_UPLOAD_ERROR

INTERNAL_SERVER_ERROR

파일 업로드에 실패하였습니다.

업로드 요청 파일 이름에 확장자가 없는 경우

INVALID_FILE_NAME_FORM

BAD_REQUEST

잘못된 형식의 파일 이름입니다. 파일 이름에 확장자가 포함되어야 합니다.

업로드 요청 파일 확장자가 유효하지 않는 경우

INVALID_IMAGE_FILE_EXTENSION

BAD_REQUEST

잘못된 이미지 파일 확장자입니다. .png, .jpg, .jpeg 중 하나이어야 합니다.

삭제 요청 파일 URL에 파일 이름이 없는 경우

INVALID_FILE_URL_FORM

BAD_REQUEST

잘못된 형식의 파일 URL입니다. / 문자 이후에 파일 이름이 포함되어야 합니다.

Last updated