【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】04、统一处理异常...
本节讨论如何使用Spring的异常处理机制,当我们程序出现错误时,以相同的一种格式,把错误信息返回给客户端
1、创建一些自定义异常
public class TipsException extends Exception {private static final long serialVersionUID = 2784987176856514682L;public TipsException(String string) {super(string);}}
2、使用@RestControllerAdvice创建一个异常处理的RESTful控制器,当其他控制器抛出异常时,会被这个控制器截获并处理
@RestControllerAdvice public class ExceptionController {@ExceptionHandler(TipsException.class)@ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)public AppResult tips(TipsException e) {return new AppResult().error(e.getMessage());}@ExceptionHandler()@ResponseStatus(HttpStatus.ALREADY_REPORTED)public AppResult spittleNotFound(Exception e) {return new AppResult().error("内部错误!请联系系统管理员!" + e.getClass().getTypeName() + e.getMessage());}}
这里的异常处理会返回一个和普通控制器一样的AppResult对象,保证任何时候返回给客户端的值都是统一格式的
3、运行测试
转载于:https://www.cnblogs.com/LiveYourLife/p/9173166.html
【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】04、统一处理异常...相关推荐
- 【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】05、Shiro集成
1.POM文件中加入Shiro和fastJSON依赖 <dependency><groupId>org.apache.shiro</groupId><arti ...
- api分层内部外部 spring_java - Spring boot restful API分层架构验证 - SO中文参考 - www.soinside.com...
[今天,我与我们的一位团队成员就Controller和Service层中的RESTful API输入的验证进行了大讨论,我觉得这是提出更大论点的糟糕日子.因此,我们有一个具有分层体系结构的spring ...
- Spring boot restful api 方法参数 BindException 异常处理
BindException位于org.springframework.validation中 客户端 发起接口请求,Controller在接收的参数在进行绑定注解校验规则时出现异常,会抛出 Bind ...
- 构建Spring Boot RESTful服务+ Spring Boot执行器
总览 什么是REST? REST(代表状态转移)是Web构建的体系结构样式,已成为用于Web应用程序的标准软件设计模式 . 代表性国家转移一词最早由REST的发起人,HTTP规范的主要作者之一Roy ...
- Spring Boot Restful框架搭建和使用【持续更新中】
2019独角兽企业重金招聘Python工程师标准>>> 1 Spring Boot Restful框架搭建 项目源码地址 2 SpringBoot框架使用技巧记录 2.1 pagea ...
- Myeclipse下使用Maven搭建spring boot项目(第二篇)
现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫st ...
- Maven 搭建spring boot多模块项目(附源码)
Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...
- 搭建spring boot环境并测试一个controller
Idea搭建spring boot环境 一.新建项目 二.起步依赖 三.编写SpringBoot引导类 四.编写Controller 五.热部署 一.新建项目 1.新建project 2.选择Spri ...
- Spring Boot 2.0:Docker Compose + Spring Boot + Nginx + Mysql 实践
Spring Boot 2.0:Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中最常 ...
最新文章
- 利用FRIDA攻击Android应用程序(一)
- 趣学python3(26)-pygame-蛇身运动
- 利用python去除红章
- 《Inside XAML》翻译半成品
- Java字符串与包装类
- C#事件机制(记住流程)
- 进程间的通信——无名管道
- oracle升级后报 06502,Oracle数据库升级后报ORA-00704和ORA-39700错误
- golang自带的rpc 服务端
- JS中return SomeFunction和不加return的区别
- matlab下载(Mac+Linux+Windows)
- win10新建虚拟机网络配置未连接服务器,win10虚拟机无法连接网络的解决方法
- 吴伯凡-认知方法论-认知是一个长期修炼的过程
- 【面经】2018金山WPS前端笔试题 面试题
- Learning Image Conditioned Label Space for Multilabel Classification
- dpdk mellanox网卡 多线程hang住的问题
- 《爬虫爬 wallhaven.cc壁纸》
- 重温:求知若饥,虚心若愚
- 图像处理之Bolb分析(一)
- Webface--(CASIA-WebFace)
热门文章
- 负边距在布局中的使用
- mybatis11--多对多关联查询
- linux进程通讯-纯文本文件1
- java 多线程取一条记录_java多线程从队列中取出数据执行
- extjs 按钮小箭头展开panel_汽车按钮都是英文看不懂?视频教你认清车内所有按钮,看完秒懂...
- 霍夫直线检测python_python+opencv实现霍夫变换检测直线
- 统计词语出现次数python_Python实战教程:如何统计序列中元素的出现频度
- nvsip能用别的软件吗_为什么很多企业转向了 Golang? Java, Python, C#没落了吗?
- java语法糖效率高吗_打包 Java将持续向“高糖”方向发展,你真的了解Java语法糖吗? _好机友...
- fastdfs删除过期文件_Spring Boot 系列:使用 Spring Boot 集成 FastDFS