最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot訪問不存在的URL時的處理方法

 更新時間:2024年12月12日 09:02:59   作者:Kwoky  
在前后端分離的模式下,當(dāng)Spring Boot應(yīng)用接收到一個不存在的URL請求時,通常希望返回一個固定的JSON字符串作為響應(yīng),以便前端能夠據(jù)此進(jìn)行相應(yīng)的處理,本文給大家介紹了springboot訪問不存在的URL時的處理方法,需要的朋友可以參考下

引言

在前后端分離的模式下,當(dāng)Spring Boot應(yīng)用接收到一個不存在的URL請求時,通常希望返回一個固定的JSON字符串作為響應(yīng),以便前端能夠據(jù)此進(jìn)行相應(yīng)的處理。

最初的思路是自定義一個錯誤控制器來處理404錯誤,并返回一個JSON格式的響應(yīng)體。讓錯誤控制器實現(xiàn)ErrorController接口,并重寫getErrorPath()方法以指定錯誤處理的路徑。然后,你可以在這個控制器中創(chuàng)建一個處理404錯誤的方法。

然而卻發(fā)現(xiàn)springboot3.3.5中ErrorController沒有任何接口方法,只能另辟蹊徑,考慮使用ErrorPageRegistrar。

ErrorPageRegistrar

ErrorPageRegistrar是Spring Boot中用于注冊錯誤頁面的接口。通過實現(xiàn)這個接口,可以自定義不同HTTP狀態(tài)碼對應(yīng)的錯誤頁面。

ErrorPageRegistrar接口定義在Spring Boot的Web模塊中,它包含一個方法registerErrorPages(ErrorPageRegistry registry)。這個方法用于注冊錯誤頁面,其中ErrorPageRegistry是一個用于添加錯誤頁面的注冊表。

實現(xiàn)接口

創(chuàng)建一個類實現(xiàn)ErrorPageRegistrar接口,并重寫registerErrorPages方法。在這個方法中,可以使用ErrorPageRegistry的addErrorPages方法來添加多個錯誤頁面。

import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;


/**
 * @基本功能:
 * @program:ecconfigcenter
 * @author:Jet
 * @create:2024-11-07 17:29:58
 **/

@Configuration
public class ErrorPageConfig implements ErrorPageRegistrar {

    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        // 注冊404錯誤頁面
        ErrorPage error404 = new ErrorPage(HttpStatus.NOT_FOUND, "/ec/error/404");
        // 注冊500錯誤頁面
        ErrorPage error500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/ec/error/500");
        // 將錯誤頁面添加到注冊表中
        registry.addErrorPages(error404, error500);
    }
}

這里使用@Configuration注解標(biāo)記ErrorPageConfig為配置類,以便Spring Boot能夠自動掃描并注冊這個配置。
在registerErrorPages方法中,通過創(chuàng)建ErrorPage對象來指定HTTP狀態(tài)碼和對應(yīng)的錯誤處理的路徑。然后,將這些ErrorPage對象傳遞給addErrorPages方法。

注冊錯誤處理

import cn.com.ec.eccommon.common.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.Map;


/**
 * @基本功能:
 * @program:ecconfigcenter
 * @author:Jet
 * @create:2024-11-07 17:29:58
 **/


@Slf4j
@RequestMapping("/ec")
@Controller
public class CustomErrorController extends BaseController {

    /**
     * 404處理
     * @return
     */
    @RequestMapping(value = "/error/404",method = RequestMethod.POST)
    @ResponseBody
    public Map<String,Object> handle404() {
        Map<String,Object>result = new HashMap<>();
        result = this.setJson(404,"url is invalid.",null);
        return result;
    }

    /**
     * 500處理
     * @return
     */
    @RequestMapping(value = "/error/500",method = RequestMethod.POST)
    @ResponseBody
    public Map<String,Object> handle500() {
        Map<String,Object>result = new HashMap<>();
        result = this.setJson(500,"Server internal error.",null);
        return result;
    }
}

到此這篇關(guān)于springboot訪問不存在的URL時的處理方法的文章就介紹到這了,更多相關(guān)SpringBoot訪問不存在的URL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ConditionalOnProperty配置swagger不生效問題及解決

    ConditionalOnProperty配置swagger不生效問題及解決

    這篇文章主要介紹了ConditionalOnProperty配置swagger不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java注解(annotation)簡述

    Java注解(annotation)簡述

    這篇文章主要介紹了使用java的注解(用在java類的方法上的注解)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Spring boot實現(xiàn)數(shù)據(jù)庫讀寫分離的方法

    Spring boot實現(xiàn)數(shù)據(jù)庫讀寫分離的方法

    本篇文章主要介紹了Spring boot實現(xiàn)數(shù)據(jù)庫讀寫分離的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解如何把cmd黑窗口把java文件打包成jar

    詳解如何把cmd黑窗口把java文件打包成jar

    本文主要介紹了如何把cmd黑窗口把java文件打包成jar,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Spring的Bean容器介紹

    Spring的Bean容器介紹

    今天小編就為大家分享一篇關(guān)于Spring的Bean容器介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作示例

    Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作示例

    這篇文章主要介紹了Java封裝數(shù)組實現(xiàn)在數(shù)組中查詢元素和修改元素操作,結(jié)合實例形式分析了java針對數(shù)組元素查詢、修改的封裝操作實現(xiàn)技巧,需要的朋友可以參考下
    2020-03-03
  • java性能優(yōu)化之編譯器版本與平臺對應(yīng)關(guān)系

    java性能優(yōu)化之編譯器版本與平臺對應(yīng)關(guān)系

    這篇文章主要介紹了java性能優(yōu)化--編譯器版本與平臺對應(yīng)關(guān)系,本章節(jié)更加具體化的學(xué)習(xí)編譯器還有哪些可以優(yōu)化的方便,讓你的應(yīng)用展現(xiàn)出更好的性能,需要的朋友可以參考下
    2022-06-06
  • 解決maven沒有打包xml文件的問題

    解決maven沒有打包xml文件的問題

    這篇文章主要介紹了解決maven沒有打包xml文件的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java在PowerPoint幻燈片中創(chuàng)建散點圖的方法

    Java在PowerPoint幻燈片中創(chuàng)建散點圖的方法

    散點圖是通過兩組數(shù)據(jù)構(gòu)成多個坐標(biāo)點,考察坐標(biāo)點的分布,判斷兩變量之間是否存在某種關(guān)聯(lián)或總結(jié)坐標(biāo)點的分布模式,這篇文章主要介紹了Java如何在PowerPoint幻燈片中創(chuàng)建散點圖,需要的朋友可以參考下
    2023-04-04
  • javaDSL簡單實現(xiàn)示例分享

    javaDSL簡單實現(xiàn)示例分享

    DSL領(lǐng)域定義語言,用來描述特定領(lǐng)域的特定表達(dá)。比如畫圖從起點到終點;路由中的從A到B。這是關(guān)于畫圖的一個簡單實現(xiàn)
    2014-03-03

最新評論

周宁县| 吉水县| 中西区| 天门市| 新津县| 绥芬河市| 平塘县| 宁远县| 湖北省| 宁乡县| 青阳县| 仁布县| 遂宁市| 章丘市| 扎兰屯市| 仁化县| 和硕县| 广东省| 永川市| 通辽市| 平陆县| 方正县| 荣昌县| 广昌县| 讷河市| 邢台市| 丁青县| 呼图壁县| 宝应县| 贵溪市| 沈阳市| 阿合奇县| 三门县| 阿拉善右旗| 阳朔县| 从化市| 海盐县| 新营市| 封开县| 桃园市| 义乌市|