Spring Boot 自定义返回错误码错误信息 在 Spring Boot 中,自定义返回错误码错误信息是一个非常重要的功能,这可以帮助开发者更好地处理错误信息,并将错误信息返回给调用端。本文将主要介绍如何在 Spring Boot 中自定义返回错误码错误信息,并提供了一些相关的代码实现。 我们需要定义一个枚举类 `ErrorEnum`,这个枚举类将包含所有可能的错误码和错误信息。例如: ```java public enum ErrorEnum { E_20011(20011, "缺少必填参数"), // ... private Integer errorCode; private String errorMsg; ErrorEnum(Integer errorCode, String errorMsg) { this.errorCode = errorCode; this.errorMsg = errorMsg; } public Integer getErrorCode() { return errorCode; } public String getErrorMsg() { return errorMsg; } } ``` 接下来,我们需要定义一个异常类 `BusinessException`,这个异常类将继承 `RuntimeException` 类,并包含一个错误码和错误信息。例如: ```java public class BusinessException extends RuntimeException { private static final long serialVersionUID = 1L; private Integer code; public BusinessException(ErrorEnum errorEnum) { super(errorEnum.getErrorMsg()); this.code = errorEnum.getErrorCode(); this.resultJson = CommonUtil.errorJson(errorEnum); } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } } ``` 然后,我们需要定义一个异常返回的模板类 `ExceptionResponse`,这个类将定义如何将异常通过什么形式进行返回。例如: ```java public class ExceptionResponse { private String message; private Integer code; public ExceptionResponse(Integer code, String message) { this.message = message; this.code = code; } public static ExceptionResponse create(Integer code, String message) { return new ExceptionResponse(code, message); } public Integer getCode() { return code; } public String getMessage() { return message; } } ``` 我们需要在 Controller 层定义一个全局处理的异常处理器 `ExceptionHandler`,这个处理器将捕捉所有的异常,并将其转换为 `ExceptionResponse` 对象。例如: ```java @ControllerAdvice @Slf4j public class ExceptionHandler { @ResponseBody @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(Exception.class) public ExceptionResponse handleException(Exception ex) { if (ex instanceof BusinessException) { log.warn(ex.getMessage(), ex); BusinessException businessException = (BusinessException) ex; return ExceptionResponse.create(businessException.getCode(), businessException.getMessage()); } // ... } } ``` 通过自定义错误码和错误信息,并定义异常类和异常返回的模板类,我们可以在 Spring Boot 中轻松地自定义返回错误码错误信息,并将其返回给调用端。
- 粉丝: 3
- 资源: 931
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助