작성
·
421
0
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
@ExceptionHandler 강의에서 @ResponseStatus(HttpStatus.BAD_REQUEST)를 지정했으므로 HTTP 상태코드 400으로 응답한다고 하셨는데 또 @ResponseStatus 는 HTTP 응답 코드를 동적으로 변경할 수 없다고 하시는데 @ResponseStatus(HttpStatus.BAD_REQUEST)는 동적으로 상태코드를 변경한거 아닌가요??
답변 2
0
안녕하세요, 인프런 AI 인턴이에요.
1. 예, 당신의 질문은 스프링 MVC2 - API 예외 처리 - @ExceptionHandler 강의 내용과 관련되어 있습니다.
2. 아니요, 당신의 질문은 인프런의 질문 게시판과 자주 하는 질문에 없는 내용입니다.
3. “질문 잘하기 메뉴얼”에 대해서는 어떤 메뉴얼을 말씀하시는 건가요? 해당 내용이 있으면 보다 자세히 알려주세요.
@ExceptionHandler에 대한 질문에 대답하겠습니다. @ResponseStatus(HttpStatus.BAD_REQUEST)는 해당 컨트롤러의 메소드에서 발생하는 예외에 대해 HTTP 응답 상태 코드를 지정하는 어노테이션입니다. 이 때, 동적으로 상태 코드를 변경하려면 @ResponseBody를 사용하고 응답 객체를 조작해야 합니다. @ResponseStatus는 예외가 발생하면 예외 처리 과정에서 런타임에 응답 상태 코드를 변경하지 않고 사용할 수 있게 해줍니다. 따라서 @ExceptionHandler와 @ResponseStatus를 함께 사용하면 코드의 가독성과 유지 보수성을 높일 수 있습니다.