# SpringBoot3教程 - 14 统一返回结果和异常处理

在实际的开发中,我们的接口会很多,所以统一每个接口返回数据的结构 ,有利于更好的维护系统和数据解析。所以我们可以定义一个返回结果的类,所有的结果都通过这个类的对象类返回。

例如定义返回结果的类,,属性如下:

ResponseResult.java

public class ResponseResult<T> implements Serializable {
    // 状态码
    private int code;

    // 信息
    private String message;

    // 数据
    private T data;
}
1
2
3
4
5
6
7
8
9
10

不同接口返回的数据是不一样的,只需要将返回的数据放到data中即可。状态码 code 和信息 message 用来表示请求是否成功,失败则返回异常的相关信息。


但是程序抛出异常,返回的数据如果不经过处理,返回的数据就不是我们定义的了,格式如下:

所以我们需要对异常也要进行统一的处理,既可以确保异常被一致地处理,统一格式响应给客户端。同时还可以简化异常处理,否则会有很多像下面的代码,处理起来就很麻烦:

try {
    // do something
} catch(Exception e) {
    return ResponseResult.error();
}
return ResponseResult.success();
1
2
3
4
5
6

所以为了统一返回结果和异常处理,下面我们对两个方面对项目进行优化。

内容未完......