沧州网站建设方案咨询,网球排名即时最新排名,网站开发的项目,网站推广包括哪些AOP全局异常处理 由于Controller可能接收到来自业务层、数据层、数据库抛出的异常#xff0c;因此需要使用AOP思想#xff0c;进行全局异常处理#xff0c;异常可通过调试获得。 package org.sinian.reggie.common;import lombok.extern.slf4j.Slf4j;
import org.springfram…AOP全局异常处理 由于Controller可能接收到来自业务层、数据层、数据库抛出的异常因此需要使用AOP思想进行全局异常处理异常可通过调试获得。 package org.sinian.reggie.common;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;ControllerAdvice(annotations {RestController.class, Controller.class})//表示这是一个aop通知类做功能增强。
ResponseBody//类中方法返回值将以JSON格式返回给前端。
Slf4j//日志记录
public class GlobalExceptionHandler {ExceptionHandler(SQLIntegrityConstraintViolationException.class)//表明该方法为一个异常处理器。public RString exceptionHandler(SQLIntegrityConstraintViolationException ex){log.error(ex.getMessage());if(ex.getMessage().contains(Duplicate entry)){String[] split ex.getMessage().split( );String msg split[2] 已存在;return R.error(msg);}return R.error(未知错误);}
}(SQLIntegrityConstraintViolationException 唯一性约束违反尝试插入已经存在的唯一值例如违反了唯一索引。主键约束违反尝试插入重复的主键值。外键约束违反尝试插入或更新关联表的外键值但没有匹配的主键值。检查约束违反尝试插入或更新值不满足定义的检查条件。 总结通过两个注解实现全局异常处理 ControllerAdvice(annotations {RestController.class, Controller.class})ExceptionHandler(SQLIntegrityConstraintViolationException.class)