SpringBoot全局异常与数据校验的方法

 更新时间:2018年11月10日 15:03:09   作者:Java填坑之路  
这篇文章主要介绍了SpringBoot全局异常与数据校验的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

异常处理是每个项目中都绕不开的话题,那么如何优雅的处理异常,是本文的话题。本文将结合SpringBoot框架一起和大家探讨下。

要思考的问题

在现在的前后端交互中,通常都规范了接口返回方式,如返回的接口状态(成功|失败)以及要返回的数据在那个字段取,或者说失败了以后提示信息从接口哪里返回,因此,如果想做全局异常,并且异常发生后能准确的返回给前端解析,那么需要异常发生时返回给前端的格式与正常失败场景的格式一致。

项目建立

利用idea 工具,很容易的搭建一个SpringBoot项目,要引入的maven依赖如下:

很简单,除了加入web功能还加入了我们需要用到的JSR-303校验框架。

定义成功失败 返回码

 

定义接口返回响应实体

 

全局异常拦截和验证

定义自定义业务异常

 

编写全局异常控制器并对自定义异常做处理

 

编写controller模拟抛出业务异常

 

postMan模拟请求接口,进行验证

数据绑定异常处理

通常我们操作数据的时候,不仅前端需要进行数据校验,后端也应当进行拦截和进行相应的错误提示,

JSR-303校验框架也是我们的一种选择。

编写实体`User`,并对属性进行注解控制

 

全局异常控制类加入拦截

 

编写控制器

 postMan模拟请求

不填写任何属性,模拟添加操作,准确进行拦截和报错

 

代码地址

代码地址:https://github.com/pengziliu/spring-boot-2.0-leaning

项目结构预览:

 

结尾

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java8不可或缺小帮手之日期应用

    Java8不可或缺小帮手之日期应用

    jdk1.8后引入了新的日期时间处理API,相比传统的date操作更加简便,date中的SimpleDateFormat也是非线程安全的,废话不多说,开干
    2023-05-05
  • 使用Redis incr解决并发问题的操作

    使用Redis incr解决并发问题的操作

    这篇文章主要介绍了使用Redis incr解决并发问题的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • SpringBoot整合RabbitMQ处理死信队列和延迟队列

    SpringBoot整合RabbitMQ处理死信队列和延迟队列

    这篇文章将通过示例为大家详细介绍SpringBoot整合RabbitMQ时如何处理死信队列和延迟队列,文中的示例代码讲解详细,需要的可以参考一下
    2022-05-05
  • Java集合的Collection接口和List接口详解

    Java集合的Collection接口和List接口详解

    这篇文章主要为大家详细介绍了Java集合的Collection接口和List接口,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 如何从request中获取body的数据

    如何从request中获取body的数据

    这篇文章主要介绍了如何从request中获取body的数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 从0开始学习大数据之java spark编程入门与项目实践

    从0开始学习大数据之java spark编程入门与项目实践

    这篇文章主要介绍了从0开始学习大数据之java spark编程入门与项目实践,结合具体入门项目分析了大数据java spark编程项目建立、调试、输出等相关步骤及操作技巧,需要的朋友可以参考下
    2019-11-11
  • Java的Struts框架中的if/else标签使用详解

    Java的Struts框架中的if/else标签使用详解

    这篇文章主要介绍了Java的Struts框架中的if/else标签使用详解,Struts是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • SpringBoot @ExceptionHandler与@ControllerAdvice异常处理详解

    SpringBoot @ExceptionHandler与@ControllerAdvice异常处理详解

    在Spring Boot应用的开发中,不管是对底层数据库操作,对业务层操作,还是对控制层操作,都会不可避免的遇到各种可预知的,不可预知的异常需要处理,如果每个处理过程都单独处理异常,那么系统的代码耦合度会很高,工作量大且不好统一,以后维护的工作量也很大
    2022-10-10
  • 基于Java实现马踏棋盘游戏算法

    基于Java实现马踏棋盘游戏算法

    这篇文章主要为大家详细介绍了基于Java实现马踏棋盘游戏算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • spring中@RestController和@Controller的区别小结

    spring中@RestController和@Controller的区别小结

    @RestController和@Controller这两个注解用于创建Web应用程序的控制器类,那么这两个注解有哪些区别,本文就来介绍一下,并用示例代码说明,感兴趣的可以了解一下
    2023-09-09

最新评论