SpringBoot @ControllerAdvice异常处理

2023-10-29

@ControllerAdvice需要与@ExceptionHandler配合使用

@ControllerAdvice放在类上,表明这个类用以处理异常
@ExceptionHandler(XXException.class)则用在具体的方法上,表示处理特定的异常
@ResponseStatus(HttpStatus.BAD_GATEWAY)可以在处理异常后,返回特定的状态

@RestControllerAdvice=@ControllerAdvice+@ResponseBody

栗子:

@GetMapping("ex")
public Map ex(@RequestParam String sss) throws MyException {
    HashMap h = new HashMap();
    h.put("aaa", sss);
    if (sss.equals("ex")) {
        throw new MyException();
    }
    return h;
}

异常类:

public class MyException extends Exception {
}

处理:

@RestControllerAdvice
public class GlobalExceptionHandler {

    @ResponseStatus(HttpStatus.BAD_GATEWAY)
    @ExceptionHandler(MyException.class)
    public Map handler(MyException e, HttpServletRequest httpServletRequest) {
        HashMap map = new HashMap();
        map.put("bbb", "xxxxx");
        return map;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot @ControllerAdvice异常处理 的相关文章

  • 【零基础学爬虫】用python爬取小说

    文章目录 前言 一 先上效果图 二 bs4学习 1 原理 2 运用 3 数据解析 4 属性定位 5 获取标签之间的文本数据 6 获取标签中的属性值 三 开始爬小说 一般步骤 1 获取url 2 UA伪装 3 获取cookie 4 请求网站
  • Python3爬虫---抓取英雄联盟的所有英雄皮肤

    usr bin env python coding utf 8 author Chris iven Python version 3 6 1 分析LOL官网行为 发现这个网页的所有数据都是经过js生成的 意思就是说 他的数据全部不在该网页里
  • 电脑如何搞副业?给大家分享五个电脑副业

    如今的电脑曾经渐渐的开端提高起来 不论我们是办公还是在家 简直每个人都是会用到这样的东西 他也是改动了我们的赚米方式 如今很多人都是在家用电脑开端赚米 那么一台电脑怎样挣米 有一台电脑怎样挣米的办法有哪些 那么接下来就给你们带来电脑挣米的办
  • my学习OC--数组对象 NSArray NSMultableArray

    数组是有序集合 只能存放对象 数组有下标 index 的概念 靠index来索引元素 下标从0开始 数组分为不可变数组 NSArray 和可变数组 NSMutableArray 不可变数组 NSArray 创建数组对象 1 创建数组对象 2
  • 求素数

    题目描述 求 100 200 之间的全部素数 输入 无 输出 100 200 之间的全部素数 一个素数占一行 样例输入 无 样例输出 101 103 107 109 113 127 131 137 139 149 151 157 163 1
  • Otsu详细算法解析

    前言 无 一 OTSU算法是什么 OTSU算法又名最大类间方差法 是由日本学者大津展之于1979 年提出 利用整副图像的直方图特性 选择全局阈值T 文字图片和背景通常会出现两个驼峰 确定一个灰度值作为阈值 将灰度值小于阈值的点作为目标 大于
  • Bootstrap,LayUI,EasyUI的对比

    Bootstrap样式更美观 更适合前端 EasyUI功能强大 样式一般 性能比bootStrap好 故后端界面用的较多
  • git push origin master和git push的区别

    1 git push origin master 指定远程仓库名和分支名 2 git push 不指定远程仓库名和分支名 这个命令看起来好像比上面那个简单 但是却是 很模糊 的 很容易混淆 不特定指出 远程仓库名和分支名 一般是使用默认配置
  • pytorch采用GPU加速方法

    在进行深度学习训练模型时 对于计算量小一些的模型 是可以在CPU上进行的 但是当计算量比较大时 我们希望利用GPU并行计算的能力去加快训练的速度 查看GPU版本号 import torch print torch version 查看tor
  • 华为OD机试 - 寻找身高相近的小朋友

    题目描述 小明今年升学到了小学1年级来到新班级后 发现其他小朋友身高参差不齐 然后就想基于各小朋友和自己的身高差 对他们进行排序 请帮他实现排序 输入描述 第一行为正整数 h和n 0
  • 全网最全iPhone NFC失灵解决思路

    这里汇集了全部中文网站关于iPhone NFC失灵的网友解决思路分享 看完之后大家对于自己的解决方案应该就有了充分的了解 作者一句话总结 天线问题 换个NFC天线或使其接触良好即可 换壳后wifi蓝牙GPS弱 Apple Pay不灵的维修思
  • [Nginx]使用nginx的image_filter_module来处理图片

    我司APP针对不同尺寸的手机需要展示不同尺寸的图片 同时 在App的不同功能模块中 图片展示的大小也不同 然而 旅游线路上传之初 图片只存在一种适用于网站的尺寸 所以这就导致以下问题 1 图片过大导致 APP加载图片速度慢 2 消耗用户过多
  • 第二届西安邮电大学网络安全大赛(部分re)

    文章目录 ez MATH eazy encode easy re ez MATH 下载文件后打开 include
  • Intellij IDEA问题整理

    TOC Intellij IDEA问题整理 1 IDEA中SQL文本换行 问题描述 在Navicat中编写完一大坨SQL后 点击美化SQL后 看着很舒心的SQL语句 复制到IDEA中很长很长的一段 设置完自动换行后 可读性不高 解决方法 1
  • Linux 防火墙

    sudo ufw status 如果你是root 则去掉sudo ufw status 可检查防火墙的状态 我的返回的是 inactive 默认为不活动 sudo ufw version防火墙版本 ufw 0 29 4ubuntu1 Cop
  • 如何解决SpringBoot的@DeleteMapping注解的方法不被调用

    1 前端代码
  • 计算机网络 笔记 1 电路交换 报文交换 分组交换

    一 介绍 1 电路交换 应用实例 电话机 从电话发明至今 过程 建立连接 占用通信资源 gt 通话 一直占用通信资源 gt 释放连接 归还通信资源 特点 在通话的全部时间内 通话的两个用户始终占用端到端的通信资源 分析 电路交换主要应用在电
  • 阿里十年架构师用140个案例整合出Java微服务架构实战,看完我直接精通,年轻人你耗子尾汁

    微架构的出现 很好地适应了这个时代对快速发展变化的要求 它不再提倡一体化的项目设计 而是对项目进行有效的 业务区 可以简单理解为不同的子系统 划分 并利用合理的技术对业务性能做出提升和改善 同时又极大地简化了配置文件的使用与 profile
  • win7共享遇到的问题

    两台win7笔记本之间需要共享文件夹 所有的设置都弄了 包括 1 网络和共享中心 更改高级共享设置 允许共享文件夹 关闭密码保护 2 右键需要共享的文件夹 属性 共享 权限添加读写控制 打开桌面的网络 双击 总是弹出用户名和密码 不知道输入
  • EMQ X+TDengine 搭建 MQTT 物联网可视化平台

    物联网数据采集涉及到大量设备接入 海量的时序数据传输 EMQ X MQTT 服务器 与 TDengine 大数据平台的组合技术栈完全能够胜任场景中的海量时间序列监测数据的传输 存储和计算 数据入库后 往往需要其他方式如数据可视化系统将数据按

随机推荐

  • Qt自定义开关按钮控件

    Qt自定义开关按钮控件 最近的项目需要在页面中添加一个开关按钮 样式类似于iOS的wifi开关按钮 在网上借鉴了别人的代码 稍作修改可以呈现出想要的效果 代码如下 switchcontrol h include
  • leetcode 326. Power of Three(3的次方)

    问题描述 Given an integer write a function to determine if it is a power of three Follow up Could you do it without using an
  • Linux进程

    目录 1 进程 1 1 什么是进程 1 2 如何来描述进程 PCB process control block 1 3 task struct 1 4 如何查看进程 1 5 获取标识符 1 6 如何创建一个进程呢 1 7 进程的状态 1 7
  • 5705. 判断国际象棋棋盘中一个格子的颜色

    给你一个坐标 coordinates 它是一个字符串 表示国际象棋棋盘中一个格子的坐标 下图是国际象棋棋盘示意图 如果所给格子的颜色是白色 请你返回 true 如果是黑色 请返回 false 给定坐标一定代表国际象棋棋盘上一个存在的格子 坐
  • VMware Workstation Player安装CentOS 7和基本配置

    本文主要分享使用VMware Workstation Player 15安装CentOS 7的过程 最后还有CentOS 7的基本设置 1 环境准备 下载安装VMware VMware Workstation Player 15 下载Cen
  • Hive 单表列行转换和多表列行转换

    一 单表列行转换 描述 表中记录了各年份各部门的平均绩效考核成绩 表名 t1 表结构 a 年份 b 部门 c 绩效得分 表内容 a b c 2014 B 9 2015 A 8 2014 A 10 2015 B 7 多行转多列 问题1 将上述
  • 51单片机模块化编程

    一 传统方式编程 所有的函数均放在main c 里 若使用的模块比较多 则一个文件内会有很多的代码 不利于代码的组织和管理 而且很影响编程者的思路 模块化编程 把各个模块的代码放在不同的 c 文件里 在 h 文件里提供外部可调用函数的声明
  • 无法解决 equal to 运算中 \"Chinese_PRC_CI_AS\" 和 \"Chinese_PRC_CS_AS\" 之间的排序规则冲突。

    无法解决 equal to 运算中 Chinese PRC CI AS 和 Chinese PRC CS AS 之间的排序规则冲突 之所以会出现这种错误 是因为服务器不能用不同的排序规则来比较两段文本 但是发果用collate关键字显式的创
  • linux驱动arm蜂鸣器响,ARM11 硬件 PWM驱动蜂鸣器设备代码

    include include include include include include include include include include include include include include include
  • C++基础知识 - 函数模板

    函数模板 C 提供了模板 template 编程的概念 所谓模板 实际上是建立一个通用函数或类 其类内部的类型和函数的形参类型不具体指定 用一个虚拟的类型来代表 这种通用的方式称为模板 模板是泛型编程的基础 泛型编程即以一种独立于任何特定类
  • 前端面试题收集整合

    面试题 一 在css布局中 什么场景下出现元素高度塌陷 如何解决元素高度塌陷问题 父元素的所有子元素设置浮动后会出现元素高度塌陷问题 1 父元素设置高度 2 父元素设置浮动 3 修改父元素的类型 display inline block t
  • 【JAVA】Parameter 0 0f OSTrto co.damlr.mtfcti.vicMotifictonservice meined ben f tp “SnramwMt.cient es

    public class XXService private RestTemplate restTemplate public XXService RestTemplate restTemplate ObjectMapper objectM
  • 【Vue基础系列】Vue中的过滤器(filter)

    一 Vue中的过滤器是什么 过滤器 filter 是输送介质管道上不可缺少的一种装置 大白话 就是把一些不必要的东西过滤掉 过滤器实质不改变原始数据 只是对数据进行加工处理后返回过滤后的数据再进行调用处理 我们也可以理解其为一个纯函数 定义
  • linux下重启X

    linux下的重启X方法收集 主要是ubuntu下的的 不知道有没效果啊 一个个试 Ctrl Alt Backspace Alt Print Screen K 这几个键太难按了 不知道ubuntu后来为什么这么设计 sudo restart
  • Windows10更新后麦克风无法使用(无法找到输入设备)解决方案

    1 问题描述 Windows10某次更新以后 无法使用麦克风在视频会议中讲话 在声音设置中 显示无法找到输入设备 在设备管理中 音频输入和输出栏 也未显示有麦克风 2 问题原因 无法找到声音的输出设备很可能是驱动损坏而导致的问题 一般是系统
  • 什么是 RESTful ?到底 REST 和 SOAP、RPC 有何区别?

    什么是 RESTful 到底 REST 和 SOAP RPC 有何区别
  • 51单片机编译警告笔记一(WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS)

    1 警告示例 WARNING L16 UNCALLED SEGMENT IGNORED FOR OVERLAY PROCESS SEGMENT PR DELAY N10US DELAY WARNING L16 UNCALLED SEGMEN
  • 使用C/C++编写GDALWarp的方法

    使用C C 编写GDALWarp的方法 GDAL Geospatial Data Abstraction Library 是一个开源的地理空间数据处理库 提供了许多功能强大的工具和函数 用于读取 写入和处理各种地理空间数据格式 其中的GDA
  • linux 查看java的安装路径

    获取java安装路径前要判断是否已经安装成功java 执行命令 java Usage java options class args to execute a class or java options jar jarfile args t
  • SpringBoot @ControllerAdvice异常处理

    ControllerAdvice需要与 ExceptionHandler配合使用 ControllerAdvice放在类上 表明这个类用以处理异常 ExceptionHandler XXException class 则用在具体的方法上 表