谷粒商城P67创建统一异常处理类

news/2024/11/28 13:42:29/

1.创建一个枚举类,指定错误代码以及错误消息

public enum BizCodeEnume {UNKNOW_EXCEPTION(10000,"系统未知异常"),VAILD_EXCEPTION(10001,"参数格式校验失败");private int code;private String msg;public int getCode() {return code;}public String getMsg() {return msg;}BizCodeEnume(int code, String msg) {this.code = code;this.msg = msg;}
}

2.创建异常处理类

import com.atguigu.common.exception.BizCodeEnume;
import com.atguigu.common.utils.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.*;import java.util.HashMap;
import java.util.Map;/*** 集中处理所有异常*/
@Slf4j
//@ResponseBody
//@ControllerAdvice(basePackages = "com.atguigu.gulimall.product.controller")
@RestControllerAdvice
public class GulimallExceptionControllerAdvice {@ExceptionHandler(value = MethodArgumentNotValidException.class)public R handVaildException(MethodArgumentNotValidException e){log.error("数据校验出现问题{},异常类型{}",e.getMessage(),e.getClass());BindingResult bindingResult = e.getBindingResult();Map<String, String> errorMap = new HashMap<>();bindingResult.getFieldErrors().forEach((fieldError)->{errorMap.put(fieldError.getField(),fieldError.getDefaultMessage());});return R.error(BizCodeEnume.VAILD_EXCEPTION.getCode(),BizCodeEnume.VAILD_EXCEPTION.getMsg()).put("data",errorMap);}@ExceptionHandler(value = Throwable.class)public R handVaildException(Throwable throwable){return R.error(BizCodeEnume.UNKNOW_EXCEPTION.getCode(),BizCodeEnume.UNKNOW_EXCEPTION.getMsg());}
}


http://www.ppmy.cn/news/243850.html

相关文章

【计算机网络】湖科大微课堂笔记 p67-70 应用层概述、客户-服务器方式和对等方式、动态主机配置协议DHCP、域名系统DNS

文章目录 应用层概述客户-服务器方式和对等方式动态主机配置协议DHCP小结 域名系统DNS小结一些例题 应用层概述 客户-服务器方式和对等方式 客户/服务器方式 对等方式 动态主机配置协议DHCP DHCP的作用 DHCP工作过程 DHCP中继代理 小结 域名系统DNS 域名系统DNS的作…

计算机网络第七版(谢希仁教授著)第二章: 物理层 课后习题部分详细答案

第2章 物理层课后答案 (1) P67 2-06 数据在信道中的传输速率受哪些因素的限制?信噪比能否任意提高?香农公式在数据通信的意思是什么?”比特/秒”和”码元/秒”有何区别? 1.数据在信道中的传输速率受到带宽和信噪比等因素的限制 2.信噪比不能任意提高 3.香农公…

【操作系统】王道考研 p67 设备的分配与回收

设备的分配与回收 知识总览 在设备独立性软件里。 设备分配时应考虑的因素 设备的分配算法&#xff1a; 如&#xff1a; 先来先服务优先级高者优先短任务优先… 从安全性上考虑的两种设备分配方式&#xff1a; 保障了安全就降低了效率。 静态分配和动态分配 静态分配&…

6.6-6.7C++primeplus P137-P166

content 1.if else 语句2.逻辑表达式3.将枚举量作为标签4.读取数字的循环5.简单文件的输入输出 1.if else 语句 if else语句是C和C里面的基本语法&#xff0c;非常重要。 注意一下if和else的控制范围。 如果if后面只接了一句话&#xff0c;那么不需要大括号如果if后面不只一句…

P67(2-17)

题目:共有4个站进行码分多址通信。4个站的码片序列为 A&#xff1a;&#xff08;&#xff0d;1&#xff0d;1&#xff0d;1&#xff0b;1&#xff0b;1&#xff0d;1&#xff0b;1&#xff0b;1&#xff09; B&#xff1a;&#xff08;&#xff0d;1&#xff0d;1&#xff0b;1…

P67 2-17

共有4个站进行码分多址CDMA通信。4个站的码片序列为: A&#xff1a;&#xff08;&#xff0d;1&#xff0d;1&#xff0d;1&#xff0b;1&#xff0b;1&#xff0d;1&#xff0b;1&#xff0b;1&#xff09; B&#xff1a;&#xff08;&#xff0d;1&#xff0d;1&#x…

p67 内网安全-域横向 smbwmi 明文或 hash 传递

数据来源 知识点1&#xff1a; Windows2012以上版本默认关闭wdigest&#xff0c;攻击者无法从内存中获取明文密码 Windows2012以下版本如安装KB2871997补丁&#xff0c;同样也会导致无法获取明文密码 针对以上情况&#xff0c;我们提供了4种方式解决此类问题 利用哈希hash传递&…