Skip to content

API HTTP 응답코드 및 에러코드 명세

Doyoung Yoo edited this page Nov 14, 2023 · 1 revision
응답코드 에러 내용
400 BAD_REQUEST 유효하지 않은 요청 내용
401 UNAUTORIZED 사용자 인증 실패
403 FORBIDDEN 사용자 권한 없음 (다른 사용자의 자원에 접근)
404 NOT_FOUND 조회를 요청한 자원이 존재하지 않음
409 CONFLICT 요청이 이미 존재하는 자원과 충돌
500 INTERNAL_SERVER_ERROR 서버 에러 (클라이언트 잘못으로 인해 발생한 에러가 아님)
# 도메인(패키지) 별 에러코드 부여
atlas 00000~
auth 01000~
bookmark 02000~
common 03000~
location 04000~
member 05000~
oauth 06000~
permission 07000~
pin 08000~
topic 09000~
image 10000~

# 에러코드 12345
12 : 패키지 번호
3: httpStatus code
45: 비즈니스로직에 따른 코드

어디서 어떤 예외를 던질까?

  • 조회 요청에 대해 find한 값이 없을 때는 Not found 404
  • 다른 요청에 대해 해당 로직에 필요한 값은 Bad Request 400 (ex. 삭제하려는 id에 해당하는 토픽이 없음)
  • 4XX 상태코드 내에 여러 오류 상황은 에러코드의 4,5자리 수에 부여한 숫자 구분
  • DB 또는 백엔드 로직 상 문제가 발생한 상황이면 Internal Sever Error 500 (ex. Interceptor, Resolver를 거쳤음에도, null이 아닌 memberId로 회원 조회가 불가능한 경우)
  • 예외가 발생한 위치가 아니라, 예외에 대한 실제 대상을 기준으로 예외 분류함