1. 程式人生 > >Spring boot 學習筆記 1 - 自定義錯誤

Spring boot 學習筆記 1 - 自定義錯誤

note ride 覆蓋 ide rac med exception cat 異常

Spring Boot提供了WebExceptionHandler一個以合理的方式處理所有錯誤的方法。它在處理順序中的位置就在WebFlux提供的處理程序之前,這被認為是最後一個處理程序。 對於機器客戶端,它會生成一個JSON響應,其中包含錯誤,HTTP狀態和異常消息的詳細信息。對於瀏覽器客戶端,有一個“whitelabel”錯誤處理程序,它以HTML格式呈現相同的數據。您也可以提供自己的HTML模板來顯示錯誤。 Postman截圖: 結果是json 格式 技術分享圖片 瀏覽器截圖: 技術分享圖片 自定義ErrorPage的Html: 技術分享圖片 在templates目錄下添加 error頁面,後綴根據模板引擎決定 技術分享圖片
定制此功能的第一步通常涉及使用現有機制,但替換或增加錯誤內容。為此,您可以添加一個類型的bean ErrorAttributes。 要更改錯誤處理行為,可以實現ErrorWebExceptionHandler並註冊該類型的bean定義。由於a WebExceptionHandler的級別較低,因此Spring Boot還提供了一種方便的方式AbstractErrorWebExceptionHandler,讓您以WebFlux功能的方式處理錯誤,如以下示例所示: public class CustomErrorWebExceptionHandler extends AbstractErrorWebExceptionHandler { // Define constructor here @Override protected RouterFunction<ServerResponse> getRoutingFunction(ErrorAttributes errorAttributes) { return RouterFunctions .route(aPredicate, aHandler) .andRoute(anotherPredicate, anotherHandler); } } 要獲得更完整的圖片,您還可以DefaultErrorWebExceptionHandler 直接子類化並覆蓋特定的方法。

Spring boot 學習筆記 1 - 自定義錯誤