스프링부트 강좌 31강(블로그 프로젝트) - Exception처리하기
package com.yuri.blog.handler;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestController;
//어디에서 발생하던 간에 이쪽으로 오게 하기 위해서!
@ControllerAdvice
@RestController
public class GlobalExceptionHandler {
// IllegalArgumentException 이 발생하면 스프링은 그 exception에 대한 error를 이 함수에게 전달해준다.
@ExceptionHandler(value=IllegalArgumentException.class)
public String handlerArgumentException(IllegalArgumentException e) {
return "<h1>"+e.getMessage()+"</h1>";
}
}
주소창에 http://localhost:8000/blog/dummy/user/1 get 요청 시 다음과 같은 화면을 볼 수 있다. (이 전에는 수많은 에러메시지들이 있었음...)
package com.yuri.blog.handler;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestController;
//어디에서 발생하던 간에 이쪽으로 오게 하기 위해서!
@ControllerAdvice
@RestController
public class GlobalExceptionHandler {
// IllegalArgumentException 이 발생하면 스프링은 그 exception에 대한 error를 이 함수에게 전달해준다.
@ExceptionHandler(value=Exception.class)
public String handlerArgumentException(Exception e) {
return "<h1>"+e.getMessage()+"</h1>";
}
// 다른 exception 을 받고 싶으면 여기다가 적으면 된다.
// @ExceptionHandler(value=IllegalArgumentException.class)
// public String handlerArgumentException(IllegalArgumentException e) {
// return "<h1>"+e.getMessage()+"</h1>";
// }
}
Exception 라고 하면 모든 Exception에 대한 처리를 할 수 있다.
-이 글은 유투버 겟인데어의 스프링 부트 강좌를 바탕으로 정리한 내용입니다.-