예외 처리
예외 Response-Body
요청 데이터 형식 에러
timestamp
String
api 요청 시간
status
Integer
응답 상태 코드
error
String
응답 상태 코드 이름
code
String
커스텀 에러 코드
message
String
커스텀 에러 메시지
defaultMessages
Array
요청 형식이 잘못된 필드에 대한 에러 메시지
서비스 내부 에러
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