承接上文 传送门
一.完善登录功能
按照常理,只有登陆过后才能进入首页,若没有登陆则应当直接跳转到登陆页面,这样的场景不就完美契合过滤器的功效吗
下面,针对此功能来设计一个过滤器
@Slf4j
@WebFilter(filterName = "loginFilterCheck", urlPatterns = "
@ControllerAdvice(annotations = {RestController.class, Controller.class}) //拦截有指定注解类的Controller
@Slf4j
@ResponseBody
public class GlobalExceptionHandler {
@ExceptionHandler({SQLIntegrityConstraintViolationException.class})
public R<String> excpHandler(SQLIntegrityConstraintViolationException exception) {//捕获到的异常被传到方法的形参里
log.info("异常信息:"+exception.getMessage());
//细化添加失败后的返回信息
if (exception.getMessage().contains("Duplicate entry")){
String[] s = exception.getMessage().split(" ");
String msg=s[2]+"已存在!";
return R.error(msg);
}
return R.error("发生异常!添加失败!");
}
}
一旦Controller层发生此异常就会被拦截到!
通过Debug,当程序出现因为重复添加而引起的异常时我们的msg就被细化了出来
到此这篇关于SpringBoot异常处理器的使用与添加员工功能实现流程介绍的文章就介绍到这了,更多相关SpringBoot异常处理器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!