springboot - blog project (31)

Yuri Lee·2020년 8월 26일
0

springboot - blog project

목록 보기
18/49
post-thumbnail

스프링부트 강좌 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에 대한 처리를 할 수 있다.


-이 글은 유투버 겟인데어의 스프링 부트 강좌를 바탕으로 정리한 내용입니다.-

profile
Step by step goes a long way ✨

0개의 댓글