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

해결됨
전성환 프로필

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

@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

백기선 프로필
백기선 1달 전

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

전성환 프로필
전성환 1달 전

아 넵

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

백기선 프로필
백기선 1달 전

@ResponseBody를 안붙여서 그래요.

@ExceptionHandler(SampleException.class)

public @ResponseBody AppError sampleError(SampleException e) {

이렇게 해보세요.

전성환 프로필
전성환 1달 전

아 네 답변감사드립니다

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

감사합니다 ㅎ