SpringBoot全局異常與數(shù)據(jù)校驗的方法
異常處理是每個項目中都繞不開的話題,那么如何優(yōu)雅的處理異常,是本文的話題。本文將結(jié)合SpringBoot框架一起和大家探討下。
要思考的問題
在現(xiàn)在的前后端交互中,通常都規(guī)范了接口返回方式,如返回的接口狀態(tài)(成功|失?。┮约耙祷氐臄?shù)據(jù)在那個字段取,或者說失敗了以后提示信息從接口哪里返回,因此,如果想做全局異常,并且異常發(fā)生后能準確的返回給前端解析,那么需要異常發(fā)生時返回給前端的格式與正常失敗場景的格式一致。
項目建立
利用idea 工具,很容易的搭建一個SpringBoot項目,要引入的maven依賴如下:
很簡單,除了加入web功能還加入了我們需要用到的JSR-303校驗框架。
定義成功失敗 返回碼
定義接口返回響應實體
全局異常攔截和驗證
定義自定義業(yè)務異常
編寫全局異??刂破鞑ψ远x異常做處理
編寫controller模擬拋出業(yè)務異常
postMan模擬請求接口,進行驗證
數(shù)據(jù)綁定異常處理
通常我們操作數(shù)據(jù)的時候,不僅前端需要進行數(shù)據(jù)校驗,后端也應當進行攔截和進行相應的錯誤提示,
JSR-303校驗框架也是我們的一種選擇。
編寫實體`User`,并對屬性進行注解控制
全局異??刂祁惣尤霐r截
編寫控制器
postMan模擬請求
不填寫任何屬性,模擬添加操作,準確進行攔截和報錯
代碼地址
代碼地址:https://github.com/pengziliu/spring-boot-2.0-leaning
項目結(jié)構(gòu)預覽:
結(jié)尾
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- SpringBoot服務端數(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學習筆記之 profile多環(huán)境配置切換的實現(xiàn)方式
- SpringBoot數(shù)據(jù)校驗及多環(huán)境配置的問題詳解
相關(guān)文章
SpringBoot整合RabbitMQ處理死信隊列和延遲隊列
這篇文章將通過示例為大家詳細介紹SpringBoot整合RabbitMQ時如何處理死信隊列和延遲隊列,文中的示例代碼講解詳細,需要的可以參考一下2022-05-05從0開始學習大數(shù)據(jù)之java spark編程入門與項目實踐
這篇文章主要介紹了從0開始學習大數(shù)據(jù)之java spark編程入門與項目實踐,結(jié)合具體入門項目分析了大數(shù)據(jù)java spark編程項目建立、調(diào)試、輸出等相關(guān)步驟及操作技巧,需要的朋友可以參考下2019-11-11SpringBoot @ExceptionHandler與@ControllerAdvice異常處理詳解
在Spring Boot應用的開發(fā)中,不管是對底層數(shù)據(jù)庫操作,對業(yè)務層操作,還是對控制層操作,都會不可避免的遇到各種可預知的,不可預知的異常需要處理,如果每個處理過程都單獨處理異常,那么系統(tǒng)的代碼耦合度會很高,工作量大且不好統(tǒng)一,以后維護的工作量也很大2022-10-10spring中@RestController和@Controller的區(qū)別小結(jié)
@RestController和@Controller這兩個注解用于創(chuàng)建Web應用程序的控制器類,那么這兩個注解有哪些區(qū)別,本文就來介紹一下,并用示例代碼說明,感興趣的可以了解一下2023-09-09