SpringBoot詳解實現自定義異常處理頁面方法

1.相關介紹

當發生異常時, 跳轉到我們自定義的異常處理頁面.

SpringBoot中隻需在靜態資源目錄下創建一個error文件夾, 並把異常處理頁面放入其中, 頁面的命名與異常錯誤代碼對應, 如404.html, 500.html.

5xx.html可以對應所有錯誤代碼為5開頭的錯誤

默認靜態資源目錄為類路徑(resources)下的:

  • /static
  • /public
  • /resources
  • /META-INF/resources

2.代碼實現

HelloController

package com.limi.springboottest2.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
    @ResponseBody
    @GetMapping("/test1")
    public String test1(){
        int i = 10/0; //模擬500異常
        return "ok";
    }
}

404.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>這是自定義404</h1>
</body>
</html>

5xx.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>這是自定義5xx</h1>
</body>
</html>

3.運行測試

測試404

測試500

使用postman測試

{
    "timestamp": "2022-06-22T04:12:13.740+00:00",
    "status": 500,
    "error": "Internal Server Error",
    "trace": "java.lang.ArithmeticException: / by zero\r\n\tat com.limi.springboottest2.controller.HelloController.test1(HelloController.java:14),
    "message": "/ by zero",
    "path": "/test1"
}

返回的信息我們可以使用模板引擎(如thymeleaf)獲取並寫入自定義的異常處理頁面中

到此這篇關於SpringBoot詳解實現自定義異常處理頁面方法的文章就介紹到這瞭,更多相關SpringBoot異常處理內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: