十次方项目第一天(RESTful-统一异常处理-跨域处理)

2018-12-02  本文已影响30人  执笔梦一场

GET

POST

PUT

DELETE

公共异常处理

 为了使我们的代码更容易维护,我们创建一个类集中处理异常
在com.tensquare.user.controller包下创建公共异常处理类BaseExceptionHandler
 前后端分离,一旦出现错误返回给前端的是这样的,所以 必须编写统一异常处理进行拦截,然后返回前端需要的json格式


17041564.png
/**
 * 统一异常处理类
 */
@ControllerAdvice
public class BaseExceptionHandler {
   
    @ExceptionHandler(value = Exception.class)//表示只处理这种异常,还可添加runtimeexception等
    @ResponseBody
    public Result error( Exception e) {
        e.printStackTrace();       
        return new Result(false, StatusCode.ERROR, e.getMessage());
    }
}

跨域处理

 跨域是什么?浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 。我们是采用前后端分离开发的,也是前后端分离部署的,必然会存在跨域问题。 怎么解决跨域?很简单,只需要在controller类上添加注解@CrossOrigin 即可!这个注解其实是CORS的实现。
 ​ CORS(Cross-Origin Resource Sharing, 跨源资源共享)是W3C出的一个标准,其思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功,还是应该失败。因此,要想实现CORS进行跨域,需要服务器进行一些设置,同时前端也需要做一些配置和分析。本文简单的对服务端的配置和前端的一些设置进行分析。
站在巨人的肩膀上

上一篇 下一篇

猜你喜欢

热点阅读