spring boot統一異常處理

2021-08-16 12:41:50 字數 943 閱讀 9998

1、統一處理異常的html頁面。

spring boot提供了乙個預設的對映:/error,當處理中丟擲異常之後,會轉到該請求中處理,並且該請求有乙個預設的錯誤頁面用來展示異常內容。

例如,我們隨便輸入乙個錯誤的url,瀏覽器響應的頁面如下圖所示

它是根據狀態碼來顯示錯誤頁面的,那麼我們不想要 spring boot 給我們提供的預設錯誤頁,我們想要顯示自己自定義的頁面該怎麼辦呢?

在eclipse中,我們在resource下直接新建乙個error資料夾;在idea中,我們在resource->templates資料夾下新建乙個error資料夾。然後根據錯誤碼(比如404),新建乙個404.html,然後定義自己的頁面內容,樣式等等。這樣,我們就可以定義自己的error頁面了,在瀏覽器輸入http://localhost:8086/demo/getapi1111,然後檢視結果

2、統一處理controller返回的異常

有的時候,我們如果想在訪問api的時候,希望給我們返回一組自定義的 json 資料,這時我們該怎麼辦呢?

我們可以寫乙個異常處理的類,統一來處理controller返回的異常

@controlleradvice

public class exceptionhandle else }}

隨便用乙個錯誤的請求,在postman上測試,就可以得到如下結果

Spring Boot學習筆記8 統一異常處理

雖然,spring boot中實現了預設的error對映,但是在實際應用中,預設的錯誤頁面對使用者來說並不夠友好,我們通常需要去實現我們自己的異常提示。下面我們以之前的spring bootx學習筆記7 使用thymeleaf模板引擎渲染web檢視為基礎,進行統一異常處理的改造。public cla...

SpringBoot 統一異常處理

統一異常處理 controlleradvice public class globalexceptionhandler exceptionhandler exception.class responsebody public r handleexception exception e 現在網上一般都...

SpringBoot統一異常處理

在統一異常處理的時候,要明確兩點 1.自定義異常在 丟擲 2.異常 自定義異常 不可預知異常 在 捕獲 圖要 1.自定義異常需要繼承runtimeexception 2.異常資訊 錯誤 異常資訊 自定義異常類 public class customexception extends runtimee...