在 Spring Boot 应用中实现统一返回值和全局异常处理可以带来多方面的好处,这些好处不仅提升了代码的可读性和可维护性,还增强了应用的健壮性和用户体验。以下是一些具体的好处:
代码一致性:
- 通过定义统一的返回值格式,可以确保整个应用中的API响应结构保持一致。
- 统一的异常处理机制使得错误信息的返回方式也保持一致,便于前端开发者理解和处理。
可维护性:
- 集中管理返回值和异常处理逻辑,减少了代码重复,降低了维护成本。
- 当需要修改返回格式或异常处理逻辑时,只需在统一的地方进行修改,无需逐个API进行更改。
可读性和易用性:
- 统一的返回值格式使得API文档更加清晰明了,前端开发者可以更容易地理解和使用API。
- 全局异常处理可以提供详细的错误信息,帮助开发者快速定位问题。
健壮性:
- 全局异常处理能够捕获和处理应用中的各种异常,避免应用崩溃或返回不友好的错误信息。
- 通过自定义异常类型,可以更精确地控制异常的处理方式,提高应用的稳定性和安全性。
1、创建项目
(1)创建 SpringBoot 项目,项目结构如下图:
(2)添加 Maven 依赖
在 pom.xml 配置文件中添加 Swagger2、 Slf4j、Lombok 插件依赖。
<!-- Lombok 依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
<scope>provided</scope>
</dependency>
<!-- Slf4j的依赖 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<!-- Swagger依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- Swagger-UI依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
(3)配置相关信息
将默认的 application.properties 文件的后缀修改为“.yml”,即配置文件名称为:application.yml,并配置以下信息:
#主配置文件
server:
port: 8085
2、实现统一返回值
通过定义统一的返回值格式,可以确保整个应用中的API响应结构保持一致。统一的返回值格式使得API文档更加清晰明了,前端开发者可以更容易地理解和使用API。
(1)在 model.ApiModel 包中,创建 ApiResponseCode 枚举(响应结果编码枚举)。
package com.pjb.business.model.ApiModel;
/**
* 响应结果编码枚举
* @author pan_junbiao
**/
public enum ApiResponseCode
{
SUCCESS(200000, "操作成功"),
FAILURE(300000, "操作失败"),
PARAMETER_ERROR(300001, "参数有误"),
UNKN