统一的异常处理
@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;}
}

品牌管理-统一异常处理相关推荐

  1. mvp关联activity生命周期_Rxjava+Retrofit统一异常处理与生命周期管理

    一.引入 9102年了,终于准备用mvp来重构一下了 之前写过Mvc模式下的Retrofit统一异常处理,这次用MVP重构过程中发现诸多不足之处,便重新进行修缮,使其在我看来更加优雅emmmmmm,文 ...

  2. 面试宝典三 --学科管理模块(拦截器,token,统一异常处理)

    面试宝典 需求分析 涉及到的表,实体类,页面 学科管理页面跳转 新增学科 分析 前端统一设置拦截器 后台登录拦截配置 统一异常处理 RequestException: 前端新增学科 后端逻辑 Cour ...

  3. 2021年春季学期期末统一考试品牌管理 试题

     试卷代号: 3983 2021年春季学期期末统一考试 品牌管理  试题 2021年7月 一.单项选择题(在各题的备选答案中,只有1项是正确的,请将正确答案的序号填写在题中的括号内,每个小题2分,共2 ...

  4. 【第四篇】商城系统-品牌管理实现

    业务开发-基础业务-品牌管理   本篇文章详细介绍了品牌管理的功能实现. 品牌管理 1. 品牌管理基本操作 首先完成品牌的基本的操作.就是通过renren-fast-generator项目不光能生成表 ...

  5. 第5章-商品服务-品牌管理

    第5章 商品服务-品牌管理 文章目录 第5章 商品服务-品牌管理 1. 使用逆向工程的代码 1.1 导入代码 1.2 显示状态优化 2. 文件上传技术 2.1 阿里云---对象存储OSS 云存储开启 ...

  6. 使用Spring进行统一日志管理 + 统一异常管理

    统一日志和异常管理配置好后,SSH项目中,代码以往散落的log.info() 和 try..catch..finally 再也不见踪影! 统一日志异常实现类: [java] view plaincop ...

  7. log中文乱码 springboot_springboot + shiro 权限注解、统一异常处理、请求乱码解决

    springboot + shiro 权限注解.统一异常处理.请求乱码解决 前篇 后台权限管理系统 20200808新版本更新 版本升级及内容优化版本,改动内容: 版本更新,springboot从1. ...

  8. java异常处理封装_Java统一异常处理(配置文件集中化定义)

    0.前言 无论任何项目,都避免不了在运行期间出现的一些异常,并伴随着因业务逻辑的需要而给出相应的提示,使得系统变得更加友好,这类提示处理,我们统称为异常处理(exceptiona handling). ...

  9. 【统一异常处理】@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常

    1.利用springmvc注解对Controller层异常全局处理 对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service ...

最新文章

  1. 小公司该如何吸引人才、留住人才?
  2. 卧槽!竟然可以直接白嫖 Github Action 的 2C7G 服务器!
  3. java在SAE中使用的相关问题总结
  4. c#用canny算子做边缘提取_【图像处理】边缘检测
  5. MySQL cast()函数
  6. 绩效管理KPI指标体系设计:142页KPI设计思路与实施实践
  7. bnuoj16491
  8. 基于 display 和 javaScript 封装一个页面布局小插件
  9. Layui 数据表格动态cols(字段)动态变化
  10. 02-body标签中相关标签
  11. python list平均数_数据分析之Python干货笔记
  12. 用友u8 12.1服务器硬件要求,用友U8_12.1安装操作手册服务器资料全
  13. 哈工大密码学实验(CA证书认证系统)
  14. Android自定义控件学习
  15. STM32应用(三)一阶卡尔曼滤波原理和ADC读取红外测距模块的数值
  16. halcon之屌炸天的自标定(1)
  17. viser 饼图修改颜色
  18. fatal: unable to access ‘https://github xxxxxxxxx的解决方法
  19. 了解App启动时间测试方法
  20. 递归合并PDF按文件夹和文件名生成目录

热门文章

  1. Charlse 抓包
  2. Contains Duplicate --包含相同值
  3. Spring Boot 启动载入数据 CommandLineRunner
  4. GIS管网项目-flex/java
  5. 类和对象:一些相关的BIF - 零基础入门学习Python040
  6. 【Spring学习】Spring简介
  7. 极简教程: 使用 matplotlib 绘制 GIF 动图
  8. Eclipse_插件_05_自动下载jar包源码插件
  9. Common sql statement
  10. 【日常小记】linux中强大且常用命令:find、grep