这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战
==本文是基于Rest API的,返回的错误信息是json格式的数据!需要注意的是这个只是对发生异常的时候,统一了一下返回结果的格式,并不是对异常的try catch,控制台依旧会打印出异常日志==
完整项目地址:
github.com/Dr-Water/sp…
- 创建统一的JSON返回对象,code:消息类型,message:消息内容,url:请求的url,data:请求返回的数据
1 | java复制代码@Data |
- 创建一个自定义异常,用来实验捕获该异常,并返回json
1 | java复制代码public class MyException extends Exception { |
- Controller中增加json映射,抛出MyException异常
1 | java复制代码@RestController |
- 定义异常处理器:
1 | java复制代码@ControllerAdvice |
- 测试
启动应用进行测试 访问:http://localhost:8080/json 可以得到如下的返回结果:
http://localhost:8080/json2 可以得到如下的返回结果:
第一个图由于是抛出的自定义的异常则返回的data信息里是自己在自定义异常处理器封装的数据即:==Some Data====myjsonErrorHandler== ,第二个图由于抛出的一个算术异常,默认被最大的exception拦截所以最后 data里的数据是:==”Some Data”==
本文转载自: 掘金