[NestJS] HTTP 예외 처리: Bad Request, Unauthorized, Forbidden, Conflict, Not Found

혜진·2024년 10월 22일

NestJS

목록 보기
9/12
post-thumbnail

NestJS HTTP 예외 처리

BadRequestException (HTTP 400 Bad Request)

클라이언트가 유효하지 않은 데이터를 서버로 요청할 때 발생한다. 주로 파라미터가 누락되었거나, 데이터 형식이 올바르지 않을 때 발생한다.

throw new BadRequestException('Missing required fields.');

UnauthorizedException (HTTP 401 Unauthorized)

클라이언트가 접근 자격이 없거나, 잘못된 토큰을 사용했거나, 인증이 필요하지만 제공된 인증 정보가 없거나 유효하지 않은 경우 발생한다.

throw new UnauthorizedException('Invalid credentials.');

ForbiddenException (HTTP 403 Forbidden)

클라이언트가 요청한 리소스에 접근할 권한이 없을 때 발생한다. 인증된 사용자가 권한 없는 리소스에 접근을 시도할 때 주로 발생한다.

throw new ForbiddenException('You do not have permission to access this resource.');

ConflictException (HTTP 409 Conflict)

서버의 현재 상태와 클라이언트의 요청이 충돌할 때 발생한다. 주로 중복된 데이터 입력 시 발생한다.

throw new ConflictException('This email is already registered.');

NotFoundException (HTTP 404 Not Found)

클라이언트가 요청한 리소스가 서버에서 존재하지 않을 때 발생한다. 잘못된 URL로 요청하거나, 해당 리소스가 삭제된 경우 발생한다.

throw new NotFoundException('User not found.');

NestJS HTTP 예외 처리 요약

  • BadRequestException: 잘못된 요청을 보낼 때
  • UnauthorizedException: 인증 정보가 없거나 유효하지 않을 때
  • ForbiddenException: 권한이 없는 리소스에 접근하려 할 때
  • ConflictException: 서버 상태와 충돌할 때, 주로 중복된 데이터
  • NotFoundException: 요청한 리소스를 찾을 수 없을 때

0개의 댓글