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

전성환님의 프로필 이미지

작성한 질문수

스프링 부트 개념과 활용

스프링 웹 MVC 9부: ExceptionHandler

@controllerAdvice 설정이 잘 되지 않네요 ㅠ_ㅠ

해결된 질문

19.04.19 01:23 작성

·

883

0

안녕하세요ㅎ 유익한 강의 잘 듣고있습니다 ㅎ
강의 내용 연습 중에 막히는 부분이 있어 질문드립니다

@ControllerAdvice 이용해서 global Exception handler를 만들어보려고 했는데 잘 되지않네요ㅜ_ㅜ

@ControllerAdvice
public class SampleGlobalExceptionHandler extends ResponseEntityExceptionHandler {

    @ExceptionHandler(SampleException.class)
    public AppError sampleError(SampleException e) {
        AppError appError = new AppError();
        appError.setMessage("controllerAdvice error.app.key ... " + e.getMessage());
        appError.setReason("hmm...");
        return appError;

    }
}
@RestController
public class SampleController {
    @GetMapping("/hello")
    public String hello(){
        return "Hello Planet.";
    }
    @GetMapping("/ex")
    public String exception() {
        throw new SampleException();
    }
}

답변 부탁드립니다 ㅠ_ㅠ

github : https://github.com/wooowangsh/springboot-exercise.git

답변 4

1

백기선님의 프로필 이미지
백기선
지식공유자

2019. 04. 23. 03:31

@ResponseBody를 안붙여서 그래요.

@ExceptionHandler(SampleException.class)

public @ResponseBody AppError sampleError(SampleException e) {

이렇게 해보세요.

1

백기선님의 프로필 이미지
백기선
지식공유자

2019. 04. 19. 02:40

안된다면 뭐가 안된다는건지 구체적인 설명과 에러 메시지를 첨부해주시면 더 좋겠습니다.

0

전성환님의 프로필 이미지
전성환
질문자

2019. 04. 24. 00:34

아 네 답변감사드립니다

말씀하신대로 @ResponseBody 추가하니, 잘 동작하네요 ^^

감사합니다 ㅎ

0

전성환님의 프로필 이미지
전성환
질문자

2019. 04. 19. 12:46

아 넵

sampleException 을 발생시켜도 설정해둔 exception handler에 걸리지 않고 500 error가 발생합니다 ㅠ