2023年11月29日发(作者:)
基础框架之统⼀异常处理
在后端发⽣异常或者是请求出错时,前端通常显⽰如下
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Jun 07 15:38:07 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available
对于⽤户来说⾮常不友好。
本⽂主要讲解如何在基础框架中实现统⼀异常处理功能。
实现⽅式
1.编写统⼀返回类CommonResponse
通过统⼀返回结果,使得前端在接受到返回参数时,可以进⾏统⼀处理
public class CommonResponse
/**
* 成功码
*/
public enum CommonErrorCode {
SUCCESS("0",
"成功~"),
/**
* 404 Web 服务器找不到您所请求的⽂件或脚本。请检查URL 以确保路径正确。
*/
NOT_FOUND("404",
("哎呀,⽆法找到这个资源啦(%s)", _sonPhrase())),
/**
* 405 对于请求所标识的资源,不允许使⽤请求⾏中所指定的⽅法。请确保为所请求的资源设置了正确的 MIME 类型。
*/
METHOD_NOT_ALLOWED("405",
("请换个姿势操作试试(%s)", _NOT_sonPhrase())),
/**
* 415 Unsupported Media Type
*/
UNSUPPORTED_MEDIA_TYPE("415",
("呀,不⽀持该媒体类型(%s)", ORTED_MEDIA_sonPhrase())),
/**
* 系统异常 500 服务器的内部错误
*/
EXCEPTION("500", "服务器开⼩差,请稍后再试"),
DATA_INTEGRITY_VIOLATION_EXCEPTION("50001", "该操作违反了完整性"),
MYBATIS_SYSTEM_EXCEPTION("50002", "数据库未连接,请稍后再试"),
NULL_POINTER_EXCEPTION("50003","操作空数据变量"),
/**
* 系统限流
*/
TRAFFIC_LIMITING("429", "哎呀,⽹络拥挤请稍后再试试"),
/**
* 服务调⽤异常
*/
API_GATEWAY_ERROR("9999", "⽹络繁忙,请稍后再试"),
/**
* 参数错误
CommonErrorCode(String code, String message) {
= code;
e = message;
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
/**
* NoHandlerFoundException 404 异常处理


发布评论