学习目标
【掌握】公共异常处理类的使用
【掌握】解决前后端分离导致的跨域问题
类统一处理异常和前后端分离的跨域问题
一 目录结构和依赖关系


二 公共异常处理类编写
2.1 在com.Tony.user.controller包下创建公共异常处理类BaseExceptionHandler.java
package com.Tony.article.controller;
/../
/**
* @author AntonTony
* @version 1.0
* @GitHub https://github.com/AntonTony
*/
@ControllerAdvice //异常类声明
public class BaseExceptionHandler {
@ExceptionHandler(value = Exception.class)
@ResponseBody //处理结果转成json数据返回
public Result error(Exception e){
System.out.println("BaseException处理异常运行了");
e.printStackTrace(); //输出异常到控制台
// logger.error("异常",e);
return new Result(false, StatusCode.ERROR,e.getMessage());
}
}
2.2 在ArticleController类中添加测试方法
//测试统一异常处理,造一个异常
@RequestMapping(value = "/exception",method = RequestMethod.GET)
public Result testError(){
int a = 1/0;
return null;
}
/* @RequestMapping(value = "/exception",method = RequestMethod.GET)
public Result exception() throws Exception{
throw new Exception("测试统一异常处理");
}
*/
2.3 重新启动ArticleApplication启动类并使用postman测试

三 跨域处理
何为跨域,如何解决跨域?
- 浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 。
- 十次方项目是采用前后端分离开发的,也是前后端分离部署的,必然会存在跨域问题。
- 只需要在controller类上添加注解@CrossOrigin即可解决跨域问题

总结
通过本篇文章:
- 掌握公共异常处理类的使用
- 解决了跨域问题
本文介绍了如何在Spring Boot项目中编写公共异常处理类BaseExceptionHandler,并提供了详细的步骤,包括创建异常处理类、添加测试方法及使用Postman进行测试。同时,文章深入解释了跨域的概念,指出在前后端分离的项目中解决跨域问题的重要性,并展示了通过在Controller上添加@CrossOrigin注解实现跨域解决方案。
2961

被折叠的 条评论
为什么被折叠?



