首頁 > 軟體

SpringBoot詳解實現自定義例外處理頁面方法

2022-06-27 10:01:25

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 zerorntat com.limi.springboottest2.controller.HelloController.test1(HelloController.java:14),
    "message": "/ by zero",
    "path": "/test1"
}

返回的資訊我們可以使用模板引擎(如thymeleaf)獲取並寫入自定義的例外處理頁面中

到此這篇關於SpringBoot詳解實現自定義例外處理頁面方法的文章就介紹到這了,更多相關SpringBoot例外處理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com