我們想讓異常結果也顯示為統一的返回結果物件,並且統一處理系統的異常資訊,那麼需要統一異常處理
統一異常處理需要兩個註解進行搭配
@controlleradvice
@exceptionhandler
@controlleradvice有三大作用:
全域性異常處理
全域性資料繫結
全域性資料預處理
@exceptionhandler註解可以用來統一處理方法丟擲的
首先需要在類上加上註解@controlleradvice
然後編寫全域性異常處理的方法
例如:
/**
* 全域性異常處理
* @param e
* @return
*/@exceptionhandler
(exception.
class
)//在出現什麼異常的時候執行該方法
@responsebody
//可以返回資料
public r error
(exception e)
@exceptionhandler註解中可以規定當出現異常時就執行該方法
其中 r 是返回統一的資料型別,參考另一篇文章統一返回資料格式
首先新增異常處理的方法
/**
* 特定異常處理:出錯時,會先檢視特定異常,如果沒有特定異常,就會執行全域性異常處理
* @param e
* @return
*/@exceptionhandler
(arithmeticexception.
class
)//在出現什麼異常的時候執行該方法
@responsebody
//可以返回資料
public r error
(arithmeticexception e)
當出現arithmeticexception異常時,就會執行該方法
1、建立自定義異常類
@data
@allargsconstructor
//所有的有參構造
@noargsconstructor
//無參構造
public
class
guliexception
extends
runtimeexception
其中註解上邊的三個註解用到外掛程式lombok,參考文章lombok外掛程式使用
guliexception就是自定義異常的類,名字可以隨意取
2、業務中需要的位置丟擲guliexception
eg:
try
catch
(exception e)
3、新增異常處理方法
/**
* 自定義異常
* @param e
* @return
*/@exceptionhandler
(guliexception.
class
)@responsebody
//可以返回資料
public r error
(guliexception e)
這樣就完成的指定的異常處理 Sprintboot中使用Redis的一些總結
在pom.xml中加入redis相關依賴 org.springframework.boot spring boot starter data redis 然後在properties檔案中配置配置檔案 spring.redis.host spring.redis.port 6379 spring.re...
Spring Boot中Web應用的統一異常處理
我們在做web應用的時候,請求處理過程中發生錯誤是非常常見的情況。spring boot提供了乙個預設的對映 error,當處理中丟擲異常之後,會轉到該請求中處理,並且該請求有乙個全域性的錯誤頁面用來展示異常內容。如圖 雖然,spring boot中實現了預設的error對映,但是在實際應用中,上面...
Spring Boot中Web應用的統一異常處理
我們在做web應用的時候,請求處理過程中發生錯誤是非常常見的情況。spring boot提供了乙個預設的對映 error,當處理中丟擲異常之後,會轉到該請求中處理,並且該請求有乙個全域性的錯誤頁面用來展示異常內容。選擇乙個之前實現過的web應用 chapter3 1 2 為基礎,啟動該應用,訪問乙個...