当前位置: 首页> 科技> 名企 > Springboot全局异常处理和统一返回结果

Springboot全局异常处理和统一返回结果

时间:2025/7/16 6:22:42来源:https://blog.csdn.net/qq_62366797/article/details/139783337 浏览次数:0次

①统一返回结果

package com.ioc.exception;import lombok.Data;import java.io.Serializable;/*** 后端统一返回结果* @param <T>*/
@Data
//使用泛型对Result返回类进行了封装
public class Result<T> implements Serializable {private Integer code; //编码:1成功,0和其它数字为失败private String msg; //错误信息private T data; //数据public static <T> Result<T> success() {Result<T> result = new Result<T>();result.code = 1;return result;}public static <T> Result<T> success(T object) {Result<T> result = new Result<T>();result.data = object;result.code = 1;return result;}public static <T> Result<T> error(Integer code,String msg) {Result result = new Result();result.msg = msg;result.code = code;return result;}}

 

②枚举类 

package com.ioc.exception;/*** 枚举类*/
public enum ExceptionMsg {;private Integer code;private String msg;public Integer getCode() {return code;}public String getMsg() {return msg;}ExceptionMsg(Integer code, String msg) {this.code = code;this.msg = msg;}
}

 

③自定义异常类

package com.ioc.exception;/*** 业务异常*/
public class BaseException extends RuntimeException {private Integer code =500;private String msg = "";public BaseException(ExceptionMsg exceptionMsg) {this.code=exceptionMsg.getCode();this.msg = exceptionMsg.getMsg();}public BaseException(Integer code , String msg){super();this.msg=msg;this.code=code;}public BaseException(String msg) {super();this.msg=msg;}public Integer getCode() {return code;}public String getMsg() {return msg;}
}

 

 ④全局异常处理类

package com.ioc.exception;import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;/*** 全局异常处理器,处理项目中抛出的业务异常*/
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {/*** 捕获业务异常* @param ex* @return*/@ExceptionHandlerpublic Result exceptionHandler(BaseException ex){log.error("异常信息:{}", ex.getMessage());return Result.error(ex.getCode(),ex.getMsg());}
}

关键字:Springboot全局异常处理和统一返回结果

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: