SpringBoot——统一异常处理(一)

这篇文章也是连接着上一篇文章《SpringBoot——AOP处理请求日志》,我们来继续完善和优化我们的SpringBoot,这次来说一说统一异常处理

【异常处理】

 异常处理是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)这个功能帮助代码增强了可读性,方便了维护者的阅读和理解。 异常处理使用 try、catch 和 finally 关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。

【为什么要统一异常处理】

因为如果不做统一处理,返回与前端的数据会非常乱,前端不好处理;并且不做统一处理,controller层就要写很多的重复代码。

【统一格式】

{  
     "code":10001,  
     "msg":"异常信息",  
     "data":null       
}  
  
{  
     "code":10000,  
     "msg":"成功",  
     "data":{  
     "id":20,  
     "name":"test",  
     "age":18  
      }   
}  

【实现】

以添加一个女生为例:

Result.java

			package com.springboot.tl.domain;
			
			/**
			 * Created by 滕柳 on 2018/5/3.
			 */
			public class Result<T> {
			
			    // 错误码
			    private Integer code;
			
			    //提示信息
			    private String msg;
			
			    //具体内容
			    private T data;
			
			    public Integer getCode() {
			        return code;
			    }
			
			    public void setCode(Integer code) {
			        this.code = code;
			    }
			
			    public String getMsg() {
			        return msg;
			    }
			
			    public void setMsg(String msg) {
			        this.msg = msg;
			    }
			
			    public T getData() {
			        return data;
			    }
			
			    public void setData(T data) {
			        this.data = data;
			    }
}

一、原始代码:

二、添加异常处理的代码:


从上图中的红框中我们知道这是添加异常处理的代码,但是有很多重复的代码,为了不显示自己特别的low所以我们要进行一下优化

三、添加异常处理的优化代码

创建一个ResultUtil.java

        					package com.springboot.tl.util;
						
						import com.springboot.tl.domain.Result;
						
						/**
						 * Created by 滕柳 on 2018/5/3.
						 */
						public class ResultUtil {
						
						    //传参的成功
						    public static Result success(Object object){
						        Result result=new Result();
						        result.setCode(0);
						        result.setMsg("成功");
						        result.setData(object);
						        return result;
						
						    }
						
						    //不传参的成功
						    public static Result success(){
						        return success(null);
						    }
						    //传参的失败
						    public static Result error(Integer code,String msg){
						        Result result=new Result();
						        result.setCode(code);
						        result.setMsg(msg);
						        return result;
						    }
						
						}
						

Controller


返回结果:


【总结】

  上面的开发大概讲解了一下统一异常处理的格式,以及以一个小的例子来说明如何实现异常处理,下一篇文章我们将要讲解如何在SpringBoot中具体的应用。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值