1.1、有模板引擎的情況下;error/狀態碼;
【將錯誤頁面命名為 (錯誤狀態碼.html)
放在模板引擎資料夾裡面的error資料夾下】
發生此狀態碼的錯誤就會來到 對應的頁面;
可以使用4xx、5xx作為錯誤頁面的檔名來匹配這種型別的所有錯誤
精確優先(優先尋找精確的狀態碼.html);
頁面能獲取的資訊( defaulterrorattributes)
timestamp:時間戳
status:狀態碼
error:錯誤提示
exception:異常物件
message:異常訊息
errors:jsr303資料校驗的錯誤都在這裡
這時出現400錯誤碼時:
1.2、沒有模板引擎(模板引擎找不到這個錯誤頁面),靜態資源檔案下找
1.3、預設以上兩中都沒有的時候,預設來到springboot的預設頁面
自定義usernotexistexception異常
public設定什麼情況下出現這個異常class usernotexistexception extends
runtimeexception
}
@responsebody異常頁面:public string hello(@requestparam("user")string user)
return "hello world";
}
<此時訪問符合出現異常的鏈結h1>status:[[$]]
h1>
<
h1>timestamp:[[$]]
h1>
<
h1>error:[[$]]
h1>
<
h1>
message:[[$]]
h1>
頁面顯示了我們自定義異常返回的資訊
其他客戶端的訪問:
3)、自定義異常處理返回json資料
修改自定義的異常處理器
@controlleradvice5xx.html中的**回顯;public
class
myexceptionhandler
}
<web瀏覽器測試(返回的是html頁面):h1>status:[[$]]
h1>
<
h1>timestamp:[[$]]
h1>
<
h1>extmessage1:[[$]]
h1>
<
h1>extmessage2:[[$]]
h1>
而其它客戶端返回的是json資料(這裡就不截圖了,自行測試)
自定義errorattributes類
//修改5xx.html給容器中加入我們自定義的errorattributes@component
public
class myerrorattributesextendsdefaulterrorattributes
}
<web瀏覽器訪問:h1>status:[[$]]
h1>
<
h1>timestamp:[[$]]
h1>
<
h1>extmessage1:[[$]]
h1>
<
h1>extmessage2:[[$]]
h1>
<
h1>company:[[$]]
h1>
其它客戶端訪問返回的json字串中也有company屬性,說明全域性返回資訊配置成功
峰哥說技術 17 Spring Boot整合AOP
峰哥說技術 2020庚子年重磅推出 戰勝病毒 我們在行動 aop是aspect oriented programming 的縮寫,意為面向切面程式設計。面向切面程式設計的目標就是分離關注點。什麼是關注點呢?就是關注點,就是你要做的事情。它可以靈活組合,達到一種可配置的 可插拔的程式結構。它的一些常用...
SpringBoot定製錯誤頁面
1 有模板引擎的情況下,例如404錯誤,將會在thymeleaf的templates的error下尋找404.html,如果找不到再尋找4xx.html 所有4開頭的錯誤狀態碼如果找不到特定的html頁面將會指向4xx.html 頁面可以獲取到的資訊 timestamp 時間戳 status 狀態碼...
springBoot定製自己的banner
每當我們啟動springboot專案時,控制台上總會列印這樣的logo 實際上是springboot在這個地方放置了乙個彩蛋,雖然沒有什麼實際的意義,但的確增加了不少樂趣 當我們不想要或者想要修改他時,springboot也給了我們隱藏和修改的空間。中隱藏 public static void ma...