日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SpringBoot處理全局統一異常的實現

瀏覽:33日期:2023-04-25 11:03:41

在后端發生異常或者是請求出錯時,前端通常顯示如下

Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri Jun 07 15:38:07 CST 2019There was an unexpected error (type=Not Found, status=404).No message available

對于用戶來說非常不友好。

本文主要講解如何在SpringBoot應用中使用統一異常處理。

實現方式

第一種:使用@ControllerAdvice和@ExceptionHandler注解 第二種: 使用ErrorController類來實現。

第一種:使用@ControllerAdvice和@ExceptionHandler注解

@Slf4j@ControllerAdvicepublic class GlobalExceptionHandler { @ResponseBody @ExceptionHandler(NullPointerException.class) public BaseResult globalException(HttpServletResponse response,NullPointerException ex){ log.info('GlobalExceptionHandler...');log.info('錯誤代碼:' + response.getStatus());BaseResult result = new WebResult(WebResult.RESULT_FAIL,'request error:'+response.getStatus() ,'GlobalExceptionHandler:'+ex.getMessage()); return result;}}

注解@ControllerAdvice表示這是一個控制器增強類,當控制器發生異常且符合類中定義的攔截異常類,將會被攔截。

可以定義攔截的控制器所在的包路徑

@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface ControllerAdvice { @AliasFor('basePackages') String[] value() default {}; @AliasFor('value') String[] basePackages() default {}; Class<?>[] basePackageClasses() default {}; Class<?>[] assignableTypes() default {}; Class<? extends Annotation>[] annotations() default {};}

注解ExceptionHandler定義攔截的異常類

@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ExceptionHandler { Class<? extends Throwable>[] value() default {};}

第二種: 使用ErrorController類來實現。

系統默認的錯誤處理類為BasicErrorController,將會顯示如上的錯誤頁面。

這里編寫一個自己的錯誤處理類,上面默認的處理類將不會起作用。

getErrorPath()返回的路徑服務器將會重定向到該路徑對應的處理類,本例中為error方法。

@Slf4j@RestControllerpublic class HttpErrorController implements ErrorController { private final static String ERROR_PATH = '/error'; @ResponseBody @RequestMapping(path = ERROR_PATH ) public BaseResult error(HttpServletRequest request, HttpServletResponse response){ log.info('訪問/error' + ' 錯誤代碼:' + response.getStatus()); BaseResult result = new WebResult(WebResult.RESULT_FAIL,'HttpErrorController error:'+response.getStatus());return result; } @Override public String getErrorPath() { return ERROR_PATH; }}

測試

以上定義了一個統一的返回類BaseResult,方便前端進行處理。

package com.microblog.common.result;import java.io.Serializable;public class BaseResult implements Serializable { private static final long serialVersionUID = 1L; public static final int RESULT_FAIL = 0; public static final int RESULT_SUCCESS = 1; //返回代碼 private Integer code; //返回消息 private String message; //返回對象 private Object data; public BaseResult(Integer code, String message) { this.code = code; this.message = message; } public BaseResult(Integer code, String message, Object object) { this.code = code; this.message = message; this.data = object; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Object getData() { return data; } public void setData(Object data) { this.data = data; }}

編寫一個測試控制器

@Slf4j@RestController@RequestMapping('/user')public class TestController { @RequestMapping('/info1') public String test(){ log.info('/user/info1'); throw new NullPointerException('TestController have exception'); }}

1.發出一個錯誤的請求,也就是沒有對應的處理類。

從返回可以看到是由HttpErrorController類處理

{'code':0,'message':'HttpErrorController error:404','data':null}

2.發出一個正常的請求(TestController的test()處理),處理類中拋出空異樣

從返回中可以看出是由GlobalExceptionHandler類處理

{'code':0,'message':'request error:200','data':'GlobalExceptionHandler:TestController have exception'}

區別

1.注解@ControllerAdvice方式只能處理控制器拋出的異常。此時請求已經進入控制器中。

2.類ErrorController方式可以處理所有的異常,包括未進入控制器的錯誤,比如404,401等錯誤

3.如果應用中兩者共同存在,則@ControllerAdvice方式處理控制器拋出的異常,類ErrorController方式未進入控制器的異常。

4.@ControllerAdvice方式可以定義多個攔截方法,攔截不同的異常類,并且可以獲取拋出的異常信息,自由度更大。

到此這篇關于SpringBoot處理全局統一異常的實現的文章就介紹到這了,更多相關SpringBoot 全局統一異常內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久免费黄色| 一区二区三区四区日韩| 久久精品 人人爱| 日韩国产欧美视频| 天堂精品久久久久| 欧美视频精品全部免费观看| 日韩精品五月天| 欧美一区自拍| 国产精品久久亚洲不卡| 免费的成人av| 亚洲精品视频一二三区| 日本欧美韩国一区三区| 国产精品激情| 国产乱码午夜在线视频| 久久久精品久久久久久96 | 在线中文字幕播放| 欧美精品高清| 樱桃成人精品视频在线播放| 中文不卡在线| 欧美日韩一区自拍| 精品久久美女| 天堂√8在线中文| 99久精品视频在线观看视频| 在线视频日韩| 97精品国产99久久久久久免费| 国产精品九九| 精精国产xxxx视频在线播放| 国产午夜久久| 国产欧美一级| 香蕉成人av| 中文字幕av一区二区三区四区| 欧美日本不卡高清| а√天堂8资源在线| 好看的av在线不卡观看| 日韩欧美中文字幕在线视频| 久久99青青| 亚洲爱爱视频| 亚洲aa在线| 国产精品高颜值在线观看| 国产一区91| 免费一区二区三区在线视频| 91精品久久久久久久久久不卡| 影音先锋久久| 美女尤物国产一区| 亚洲综合日本| 精品三级av在线导航| 狠狠色综合网| 国产精品天天看天天狠| 亚洲夜间福利| 国产精品久久久一区二区| 不卡一区综合视频| 国产亚洲精品美女久久| 久久精品青草| 国产欧美69| 亚洲免费观看| 国模大尺度视频一区二区| 久久高清国产| 国产成人久久精品麻豆二区| 亚洲主播在线| 91综合网人人| 中文字幕日韩亚洲| 精品捆绑调教一区二区三区| 欧美亚洲tv| 欧美日韩国产免费观看视频| 国产精品a久久久久| 午夜一区在线| 国产suv精品一区二区四区视频 | 亚洲精品第一| 久久三级视频| 欧美黑人巨大videos精品| 午夜精品影院| 福利一区和二区| 日韩av网站在线免费观看| 欧美网站在线| 97se综合| 国产精品久久久久久久久久久久久久久| 亚洲高清影视| 成人影视亚洲图片在线| 91欧美极品| 久久亚洲色图| 香蕉久久99| jizzjizz中国精品麻豆| 国产精品网站在线看| 亚洲精品麻豆| 红桃视频欧美| 久久在线视频免费观看| 精品国产亚洲一区二区在线观看| 视频一区中文字幕精品 | 午夜国产一区二区| 麻豆精品视频在线观看免费| 日本欧洲一区二区| 欧美影院三区| 日韩欧美综合| 国语精品一区| 国产精品成人自拍| 日本一区免费网站| 美女日韩在线中文字幕| 久久精品影视| 欧美二三四区| 国产黄大片在线观看| 久久av偷拍| 国产精品免费不| 日本免费在线视频不卡一不卡二| 噜噜噜躁狠狠躁狠狠精品视频 | 午夜在线播放视频欧美| 国产综合色产| 亚洲一级高清| 激情欧美国产欧美| 日韩精品久久久久久久电影99爱| 黑森林国产精品av| 精品99在线| 久久久91麻豆精品国产一区| 国产日韩欧美三级| 国产欧美日韩视频在线| 日本精品在线播放| 日韩中文字幕一区二区高清99| 一二三区精品| 亚洲人成精品久久久| 亚洲少妇自拍| 亚洲一区二区三区免费在线观看 | 欧美羞羞视频| 美女一区网站| 日韩欧美一区二区三区在线视频| 日韩电影在线视频| 电影天堂国产精品| 免费久久久久久久久| 99视频精品免费观看| 老司机久久99久久精品播放免费| 蜜桃av一区二区三区电影| 国产精品美女久久久浪潮软件| 亚洲激情偷拍| 一区二区日韩免费看| 青草国产精品| 精品精品久久| 日韩毛片视频| re久久精品视频| 石原莉奈在线亚洲三区| 五月国产精品| 国产日产精品_国产精品毛片 | 亚洲精品三级| 国产欧美视频在线| 精品亚洲自拍| 久久久噜噜噜| 国产精品人人爽人人做我的可爱| 亚洲视频二区| 国产精品黄色| 久久精品国内一区二区三区水蜜桃| 欧美天堂亚洲电影院在线观看| 午夜在线观看免费一区| 69堂免费精品视频在线播放| 精品亚洲免a| 女同性一区二区三区人了人一| 最新国产精品视频| 国产女人18毛片水真多18精品| 最近高清中文在线字幕在线观看1| 久久在线视频免费观看| 亚洲日本久久| 久久精品网址| 国户精品久久久久久久久久久不卡| 首页亚洲欧美制服丝腿| 国产欧美日韩| 久久麻豆精品| 天堂久久av| 精品香蕉视频| 久久国产精品毛片| 国产精品白浆| 91视频久久| 性色一区二区| 欧美黄色一区| 999国产精品永久免费视频app| 日韩专区一卡二卡| 国产精品qvod| 黑丝一区二区三区| 国产精品视频一区视频二区| www成人在线视频| 日本一不卡视频| 中文字幕色婷婷在线视频| 综合精品一区| 国产一区国产二区国产三区| 一区二区三区四区在线看| 欧美精品中文字幕亚洲专区| 91精品国产成人观看| 国产日韩欧美在线播放不卡| 99成人在线视频| 国产精品xxx在线观看| 99国产精品自拍| 麻豆视频观看网址久久| 天堂成人国产精品一区| 久久亚洲道色| 日韩中文字幕亚洲一区二区va在线| 精品国产a一区二区三区v免费| 中国女人久久久| 97国产成人高清在线观看| 伊人久久一区| 久久久9色精品国产一区二区三区| 日韩黄色av| 免费成人性网站| 久久国产电影| 麻豆国产欧美一区二区三区 | 日韩国产在线不卡视频|