Spring-全局异常处理-@RestControllerAdvice

@RestControllerAdvice是复合注解
@ControllerAdvice
@ResponseBody

import org.springframework.web.bind.annotation.RestControllerAdvice;

作用:对Controller进行增强,两者搭配,常做全局异常处理

@ControllerAdvice 作用在类上,有三种用法

  • 全局异常处理: @ModelAttribute
  • 全局数据绑定: @ModelAttribute
  • 全局数据预处理: @InitBinder
  1. 全局异常处理
@RestControllerAdvice
public class GlobalExceptionDeal {
	@ExceptionHandler(NullPointerException.class)
	@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
	public ResponseBean dealNullPointerException() {
		ResponseBean responseBean = new ResponseBean(500,"服务器异常--空指针异常");
		return responseBean;
	}
	@ExceptionHandler(Exception.class)
	@ResponseStatus(value=HttpStatus.INTERNAL_SERVER_ERROR)
	public ResponseBean dealUnexpectedException(){
		ResponseBean responseBean=new ResponseBean(505,"服务器异常--未知错误");
		return responseBean;
	}
}
posted @ 2021-10-26 16:54  生生灯火半杯月  阅读(237)  评论(0)    收藏  举报