博客
关于我
十次方微服务项目实战04--统一异常和跨域问题处理
阅读量:691 次
发布时间:2019-03-17

本文共 1070 字,大约阅读时间需要 3 分钟。

在实际项目中,通常会对公共异常进行统一处理,另外,在前后端分离等项目中也会存在跨域问题,本文就这两个方面做下统一说明。

公共异常处理

为了使代码更统一维护,创建一个类集中处理异常。

com.tensquare.base.controller中创建公共异常处理类BaseExceptionHandler

代码如下:

package com.tensquare.base.controller;import entity.Result;import entity.StatusCode;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;/** * Created by  me on 2019/6/25. */@ControllerAdvicepublic class BaseExceptionHandler {    @ExceptionHandler(value = Exception.class)    @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进行跨域,需要再服务器进行一些设置,同时前端也需要做一些配置和分析,过多的本文就不必再描述,有兴趣Google一下。

转载地址:http://akahz.baihongyu.com/

你可能感兴趣的文章
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中使用range范围节点实现从一个范围对应至另一个范围
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Vue3+Element-ul学生管理系统(第二十二课)
查看>>
Node-RED中怎样让网站返回JSON数据
查看>>
Node-RED中根据HTML文件建立Web网站
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>
Node-RED怎样导出导入流程为json文件
查看>>
Node-RED简介与Windows上安装、启动和运行示例
查看>>
Node-RED订阅MQTT主题并调试数据
查看>>