SpringBoot全局異常與數(shù)據(jù)校驗的方法
異常處理是每個項目中都繞不開的話題,那么如何優(yōu)雅的處理異常,是本文的話題。本文將結(jié)合SpringBoot框架一起和大家探討下。
要思考的問題
在現(xiàn)在的前后端交互中,通常都規(guī)范了接口返回方式,如返回的接口狀態(tài)(成功|失?。┮约耙祷氐臄?shù)據(jù)在那個字段取,或者說失敗了以后提示信息從接口哪里返回,因此,如果想做全局異常,并且異常發(fā)生后能準確的返回給前端解析,那么需要異常發(fā)生時返回給前端的格式與正常失敗場景的格式一致。
項目建立
利用idea 工具,很容易的搭建一個SpringBoot項目,要引入的maven依賴如下:

很簡單,除了加入web功能還加入了我們需要用到的JSR-303校驗框架。
定義成功失敗 返回碼
定義接口返回響應(yīng)實體
全局異常攔截和驗證
定義自定義業(yè)務(wù)異常
編寫全局異??刂破鞑ψ远x異常做處理
編寫controller模擬拋出業(yè)務(wù)異常
postMan模擬請求接口,進行驗證

數(shù)據(jù)綁定異常處理
通常我們操作數(shù)據(jù)的時候,不僅前端需要進行數(shù)據(jù)校驗,后端也應(yīng)當進行攔截和進行相應(yīng)的錯誤提示,
JSR-303校驗框架也是我們的一種選擇。
編寫實體`User`,并對屬性進行注解控制
全局異??刂祁惣尤霐r截
編寫控制器

postMan模擬請求
不填寫任何屬性,模擬添加操作,準確進行攔截和報錯
代碼地址
代碼地址:https://github.com/pengziliu/spring-boot-2.0-leaning
項目結(jié)構(gòu)預(yù)覽:
結(jié)尾
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot服務(wù)端數(shù)據(jù)校驗過程詳解
- SpringBoot2.X Kotlin系列之數(shù)據(jù)校驗和異常處理詳解
- Springboot如何使用logback實現(xiàn)多環(huán)境配置?
- springboot yml中profiles的巧妙用法(小白必看多環(huán)境配置)
- springboot 多環(huán)境配置 yml文件版的實現(xiàn)方法
- springboot多環(huán)境配置方案(不用5分鐘)
- springboot學(xué)習(xí)筆記之 profile多環(huán)境配置切換的實現(xiàn)方式
- SpringBoot數(shù)據(jù)校驗及多環(huán)境配置的問題詳解
相關(guān)文章
HashMap和List遍歷方法及如何遍歷刪除元素總結(jié)
在本篇文章中小編給大家分享了關(guān)于HashMap和List遍歷方法及如何遍歷刪除元素知識點總結(jié),需要的朋友們參考下。2019-05-05
SpringBoot定時任務(wù)動態(tài)擴展ScheduledTaskRegistrar詳解
這篇文章主要為大家介紹了SpringBoot定時任務(wù)動態(tài)擴展ScheduledTaskRegistrar類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
Spring Cloud Ribbon實現(xiàn)客戶端負載均衡的方法
本篇文章主要介紹了Spring Cloud Ribbon實現(xiàn)客戶端負載均衡的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Sharding-Proxy分庫分表和數(shù)據(jù)加密使用場景分析
這篇文章主要介紹了Sharding-Proxy分庫分表和數(shù)據(jù)加密使用經(jīng)驗分享,通過場景模擬分析結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-04-04
完美解決springboot中使用mybatis字段不能進行自動映射的問題
今天在springboot中使用mybatis的時候不能字段不能夠進行自動映射,接下來給大家給帶來了完美解決springboot中使用mybatis字段不能進行自動映射的問題,需要的朋友可以參考下2023-05-05
SpringBoot系列教程之dubbo和Zookeeper集成方法
這篇文章主要介紹了SpringBoot系列教程之dubbo和Zookeeper集成方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
Spring Boot 整合 MyBatis 連接數(shù)據(jù)庫及常見問題
MyBatis 是一個優(yōu)秀的持久層框架,支持定制化 SQL、存儲過程以及高級映射,下面詳細介紹如何在 Spring Boot 項目中整合 MyBatis 并連接數(shù)據(jù)庫,感興趣的朋友一起看看吧2025-03-03

