品牌管理-统一异常处理
统一的异常处理
@ControllerAdvice1)、编写异常处理类,使用@ControllerAdvice。2)、使用@ExceptionHandler标注方法可以处理的异常。
package com.leon.gulimall.product.exception;import com.leon.common.exception.BizCodeEnume;
import com.leon.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.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.ModelAndView;import java.util.HashMap;
import java.util.Map;/*** 集中处理所有异常*/
@Slf4j
//@ResponseBody
//@ControllerAdvice(basePackages = "com.leon.gulimall.product.controller")
@RestControllerAdvice(basePackages = "com.leon.gulimall.product.controller")
public class ExceptionControllerAdvice {@ExceptionHandler(value= MethodArgumentNotValidException.class)public R handleVaildException(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 handleException(Throwable throwable){log.error("错误:",throwable);return R.error(BizCodeEnume.UNKNOW_EXCEPTION.getCode(),BizCodeEnume.UNKNOW_EXCEPTION.getMsg());}}
package com.leon.common.exception;/**** 错误码和错误信息定义类* 1. 错误码定义规则为5为数字* 2. 前两位表示业务场景,最后三位表示错误码。例如:100001。10:通用 001:系统未知异常* 3. 维护错误码后需要维护错误描述,将他们定义为枚举形式* 错误码列表:* 10: 通用* 001:参数格式校验* 11: 商品* 12: 订单* 13: 购物车* 14: 物流***/
public enum BizCodeEnume {UNKNOW_EXCEPTION(10000,"系统未知异常"),VAILD_EXCEPTION(10001,"参数格式校验失败");private int code;private String msg;BizCodeEnume(int code,String msg){this.code = code;this.msg = msg;}public int getCode() {return code;}public String getMsg() {return msg;}
}
品牌管理-统一异常处理相关推荐
- mvp关联activity生命周期_Rxjava+Retrofit统一异常处理与生命周期管理
一.引入 9102年了,终于准备用mvp来重构一下了 之前写过Mvc模式下的Retrofit统一异常处理,这次用MVP重构过程中发现诸多不足之处,便重新进行修缮,使其在我看来更加优雅emmmmmm,文 ...
- 面试宝典三 --学科管理模块(拦截器,token,统一异常处理)
面试宝典 需求分析 涉及到的表,实体类,页面 学科管理页面跳转 新增学科 分析 前端统一设置拦截器 后台登录拦截配置 统一异常处理 RequestException: 前端新增学科 后端逻辑 Cour ...
- 2021年春季学期期末统一考试品牌管理 试题
试卷代号: 3983 2021年春季学期期末统一考试 品牌管理 试题 2021年7月 一.单项选择题(在各题的备选答案中,只有1项是正确的,请将正确答案的序号填写在题中的括号内,每个小题2分,共2 ...
- 【第四篇】商城系统-品牌管理实现
业务开发-基础业务-品牌管理 本篇文章详细介绍了品牌管理的功能实现. 品牌管理 1. 品牌管理基本操作 首先完成品牌的基本的操作.就是通过renren-fast-generator项目不光能生成表 ...
- 第5章-商品服务-品牌管理
第5章 商品服务-品牌管理 文章目录 第5章 商品服务-品牌管理 1. 使用逆向工程的代码 1.1 导入代码 1.2 显示状态优化 2. 文件上传技术 2.1 阿里云---对象存储OSS 云存储开启 ...
- 使用Spring进行统一日志管理 + 统一异常管理
统一日志和异常管理配置好后,SSH项目中,代码以往散落的log.info() 和 try..catch..finally 再也不见踪影! 统一日志异常实现类: [java] view plaincop ...
- log中文乱码 springboot_springboot + shiro 权限注解、统一异常处理、请求乱码解决
springboot + shiro 权限注解.统一异常处理.请求乱码解决 前篇 后台权限管理系统 20200808新版本更新 版本升级及内容优化版本,改动内容: 版本更新,springboot从1. ...
- java异常处理封装_Java统一异常处理(配置文件集中化定义)
0.前言 无论任何项目,都避免不了在运行期间出现的一些异常,并伴随着因业务逻辑的需要而给出相应的提示,使得系统变得更加友好,这类提示处理,我们统称为异常处理(exceptiona handling). ...
- 【统一异常处理】@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
1.利用springmvc注解对Controller层异常全局处理 对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service ...
最新文章
- 小公司该如何吸引人才、留住人才?
- 卧槽!竟然可以直接白嫖 Github Action 的 2C7G 服务器!
- java在SAE中使用的相关问题总结
- c#用canny算子做边缘提取_【图像处理】边缘检测
- MySQL cast()函数
- 绩效管理KPI指标体系设计:142页KPI设计思路与实施实践
- bnuoj16491
- 基于 display 和 javaScript 封装一个页面布局小插件
- Layui 数据表格动态cols(字段)动态变化
- 02-body标签中相关标签
- python list平均数_数据分析之Python干货笔记
- 用友u8 12.1服务器硬件要求,用友U8_12.1安装操作手册服务器资料全
- 哈工大密码学实验(CA证书认证系统)
- Android自定义控件学习
- STM32应用(三)一阶卡尔曼滤波原理和ADC读取红外测距模块的数值
- halcon之屌炸天的自标定(1)
- viser 饼图修改颜色
- fatal: unable to access ‘https://github xxxxxxxxx的解决方法
- 了解App启动时间测试方法
- 递归合并PDF按文件夹和文件名生成目录