目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7094.4k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(109)
赞(0)

统一异常处理

在前后端分离项目中,系统抛出异常时,不论是自定义异常还是程序异常,都要返回给前端一段JSON数据,以便其对用户进行提示,且JSON数据的格式和正常结果相同。

image-20220725164723276

接下来我们在通用模块为整个项目做统一异常处理:

  1. 创建自定义异常类

  2. 修改返回状态码枚举类

  3. 创建统一异常处理器

  4. 由于模块的包结构,其他模块启动时,无法加载通用模块的全局异常处理类,为了让所有项目都可以加载全局异常处理类,可以在通用模块的resources目录下建立META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件,添加如下内容:

  5. 修改品牌服务代码

  6. 异常信息从服务端传入消费端时,Dubbo会默认封装异常,这样就不能使用我们自定义的异常格式,所以在通用模块禁用Dubbo异常封装

  7. 由于新版Dubbo默认关闭对象序列化,使得异常信息不能从服务端传入消费端,所以在通用模块开启Dubbo序列化:

    image-20231215140407603

  8. 分别访问http://localhost:8001/brand/findById?id=1http://localhost:8001/brand/findById?id=0http://localhost:8001/brand/findById?id=-1,查看返回结果

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2