参考:Java 项目中的全局异常处理
package com.tj.reggie.controller.utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.sql.SQLIntegrityConstraintViolationException;
/**
* API请求全局异常处理,@RestController,@Controller注解的请求会进行的异常处理
*/
@ControllerAdvice(annotations = {RestController.class, Controller.class})
@ResponseBody
@Slf4j
public class ControllerException {
/**
* 异常处理方法
*SQLIntegrityConstraintViolationException
* @return
*/
@ExceptionHandler(Exception.class)
public R<String> exceptionHandler(Exception ex) {
String message = ex.getMessage(); //异常信息内容
log.error(message);
return R.error(message);
}
}