인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

기팝님의 프로필 이미지
기팝

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

HTTP Status Code 제어를 위한 Exception Handling

500에러 ->400에러

작성

·

665

0

안녕하세요 강의를 너무 잘 보고있습니다
감사합니다.
 
 
public class UserNotFoundException extends RuntimeException{....}
 
RuntimeException을 상속 받으시고(서버에러 5xx)
 
오류를 뱉으실떈
@ResponseStatus(HttpStatus.NOT_FOUND) (클라이언트에러4xx)
 
이렇게 달리하시는 이유가 궁금합니다
처음부터 400번대 Exception을상속받으면 안되나요 ?
 

답변 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하셍, 이도원입니다. 

RuntimeExcpetion은 일반적인 서버사이드 오류에 대한 내용을 처리하기 위한 예외클래스입니다. Status Code 4xx 을 위한 클래스로 다음과 같은 클래스를 사용할 수도 있습니다.

https://docs.oracle.com/javaee/7/api/javax/ws/rs/ClientErrorException.html

위의 ClientErrorExcpetion의 NotFoundExcpetion 등은 javax.ws.rs 패키지라 해당 클래스를 사용하기 위해서 import시키기 보다는 기본 패키지의 내용으로 처리하였습니다. 말씀하신대로 REST를 위한 전용 패키지를 사용해서 구성하는 것도 나쁘지 않을거 같네요. 

감사합니다. 

기팝님의 프로필 이미지
기팝

작성한 질문수

질문하기