精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為你Springboot項目自定義一個通用的異常

開發(fā) 項目管理
我們的項目通常來講都是一個比較大的項目,包含了各種各樣的服務(wù)。如果每個服務(wù)都以不同的方式返回異常信息,這樣排查的時候就會比較凌亂。

[[373931]]

前言

我們的項目通常來講都是一個比較大的項目,包含了各種各樣的服務(wù)。如果每個服務(wù)都以不同的方式返回異常信息,這樣排查的時候就會比較凌亂。如果我們定義一個標準的異常處理體系。并在所有的服務(wù)中使用。那樣開發(fā)起來就可以快速定位。頁面也會更加的簡單和直觀。

本文開發(fā)環(huán)境基于springboot2.4,IDE環(huán)境是IDEA。這里從一個最簡單的異常案例。逐步過渡到完全自定義自己的異常。

案例:Springboot查詢數(shù)據(jù)庫數(shù)據(jù),發(fā)現(xiàn)返回的是null,就拋出異常。

OK,基于這個思想,看一下實現(xiàn)的思路。

一、簡單案例代碼實現(xiàn)

1、新建一個Springboot應(yīng)用

2、新建dao包,創(chuàng)建User類

這個比較簡單,代碼如下:

  1. public class User { 
  2.     private int id; 
  3.     private String name
  4.     public User() { 
  5.     } 
  6.     public User(int id, String name) { 
  7.         this.id = id; 
  8.         this.name = name
  9.     } 
  10.     //getter和setter方法 
  11.     //toString方法 

3、新建service包,創(chuàng)建UserService

  1. @Service 
  2. public class UserService { 
  3.     public User findOne(int id){ 
  4.         //本來應(yīng)該向數(shù)據(jù)庫查詢User,但是數(shù)據(jù)庫沒有 
  5.         return null
  6.     } 

由于演示的是異常的案例,因此這里沒有真正實現(xiàn)數(shù)據(jù)庫的增刪改查操作。當(dāng)調(diào)用findOne方法時,直接返回為null即可。

4、新建controller包,創(chuàng)建UserController類

  1. @RestController 
  2. public class UserController { 
  3.     @Autowired 
  4.     private UserService service; 
  5.     @GetMapping("/users/{id}"
  6.     public User retriveUser(@PathVariable int id)  
  7.             throws UserNotFoundException { 
  8.         User user= service.findOne(id); 
  9.         if(user==null
  10.             throw new UserNotFoundException("id: "+ id); 
  11.         return user
  12.     } 

這里自定義了一個異常UserNotFoundException,當(dāng)數(shù)據(jù)庫查詢的時候一旦發(fā)現(xiàn)返回值為null,就直接拋出這個異常。

5、在controller包下,創(chuàng)建UserNotFoundException類

  1. public class UserNotFoundException extends RuntimeException { 
  2.     public UserNotFoundException(String message){ 
  3.         super(message); 
  4.         System.out.println("異常信息是:"+message); 
  5.     } 

6、postman測試

這時候進行測試會發(fā)現(xiàn)服務(wù)器代碼會報錯。我們的資源沒有找到總不能提示服務(wù)器內(nèi)部錯誤吧。現(xiàn)在對拋出的異常進行一個處理。

7、異常處理

  1. @ResponseStatus(HttpStatus.NOT_FOUND) 
  2. public class UserNotFoundException extends RuntimeException { 
  3.     public UserNotFoundException(String message){ 
  4.         super(message); 
  5.         System.out.println("異常信息是:"+message); 
  6.     } 

我們將添加一個注釋@ResponseStatus來生成狀態(tài):404 Not Found。當(dāng)然還有其他的狀態(tài)。這個可以根據(jù)自己的需要去返回。我們使用了HttpStatus.NOT_FOUND用戶訪問的時候,一旦拋出了異常就會顯示404錯誤。這個你換成其他的狀態(tài),還會顯示其他的信息。

8、重新測試

Spring Boot和Spring MVC框架的結(jié)合提供了錯誤處理。其內(nèi)部已經(jīng)自動配置一些默認異常處理。所以在開發(fā)中為所有服務(wù)配置一致的異常消息是很重要的。

二、通用的異常處理

1、添加依賴

  1. <dependency> 
  2.       <groupId>org.springframework</groupId> 
  3.       <artifactId>spring-webmvc</artifactId> 
  4.       <version>5.3.2</version> 
  5. </dependency> 

2、創(chuàng)建異常返回實體類ExceptionResponse

這個類的作用是,當(dāng)有異常時,我們想要展示的信息。

  1. public class ExceptionResponse { 
  2.     private Date timestamp
  3.     private String message; 
  4.     private String detail; 
  5.     public ExceptionResponse() { } 
  6.     public ExceptionResponse(Date timestamp, String message, String detail) { 
  7.         this.timestamp = timestamp
  8.         this.message = message; 
  9.         this.detail = detail; 
  10.     } 
  11.     public Date getTimestamp() { 
  12.         return timestamp
  13.     } 
  14.     public String getMessage() { 
  15.         return message; 
  16.     } 
  17.     public String getDetail() { 
  18.         return detail; 
  19.     } 

這里只需要實現(xiàn)getter方法,setter方法就不需要。

3、創(chuàng)建通用異常處理類

  1. @ControllerAdvice 
  2. @RestController 
  3. public class CustomizedResponseEntityExceptionHandler extends ResponseEntityExceptionHandler { 
  4.  
  5.     //此方法主要處理所有的異常信息 
  6.     @ExceptionHandler(Exception.class) 
  7.     public final ResponseEntity<Object> handleAllExceptions(Exception ex, WebRequest request) { 
  8.         //當(dāng)出現(xiàn)異常時,我們輸出的信息,這里被封裝在了ExceptionResponse 
  9.         ExceptionResponse exceptionResponse = new ExceptionResponse(new Date(), ex.getMessage(), request.getDescription(false)); 
  10.         return new ResponseEntity(exceptionResponse, HttpStatus.INTERNAL_SERVER_ERROR); 
  11.     } 
  12.     //當(dāng)頁面資源沒有找到時,拋出的異常 
  13.     @ExceptionHandler(UserNotFoundException.class) 
  14.     public final ResponseEntity<Object> handleUserNotFoundExceptions(UserNotFoundException ex, WebRequest request) { 
  15.         ExceptionResponse exceptionResponse = new ExceptionResponse(new Date(), ex.getMessage(), request.getDescription(false)); 
  16.         return new ResponseEntity(exceptionResponse, HttpStatus.NOT_FOUND); 
  17.     } 

很簡單。里面有很多API,可以自己根據(jù)需要去查即可。

4、postman測試

萬事大吉。趕快為你的程序自定義一個通用的異常處理程序吧。

本文轉(zhuǎn)載自微信公眾號「愚公要移山」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系愚公要移山公眾號。

 

 

責(zé)任編輯:武曉燕 來源: 愚公要移山
相關(guān)推薦

2021-01-07 05:24:38

SpringbootSpringBanner

2009-04-28 13:25:36

Ajax函數(shù)Java

2012-11-19 11:07:42

IBMdw

2022-06-06 09:28:36

ReactHook

2011-12-16 14:23:51

Java

2019-07-07 10:00:00

Linux系統(tǒng)托盤指示器

2019-07-05 14:20:10

Linux系統(tǒng)托盤

2023-07-03 08:29:11

BannerSpringBoot

2023-11-22 09:45:44

2020-09-18 10:12:24

KotlinTCP網(wǎng)絡(luò)協(xié)議

2021-03-09 15:23:45

鴻蒙HarmonyOS應(yīng)用開發(fā)

2014-11-12 10:26:25

Bootstrap

2021-02-23 08:01:01

HooksReact架構(gòu)

2017-06-20 12:48:55

React Nativ自定義模塊Note.js

2020-09-07 09:54:01

GNOME桌面主題桌面應(yīng)用

2021-06-17 06:52:37

C#自定義異常

2021-06-21 06:32:04

Python異常傳遞s自定義異常

2024-11-27 16:38:07

2023-10-11 07:57:23

springboot微服務(wù)

2009-08-03 16:37:49

C#異常類
點贊
收藏

51CTO技術(shù)棧公眾號

国产精品电影一区二区三区| 狠狠爱成人网| 欧美精品亚洲一区二区在线播放| 永久域名在线精品| www.我爱av| 亚洲一区成人| 久久视频在线免费观看| 五月天丁香社区| av有声小说一区二区三区| 最新国产の精品合集bt伙计| 国产乱码精品一区二区三区日韩精品 | 中文 欧美 日韩| 欧美精品导航| 亚洲香蕉成视频在线观看| 9191在线视频| 成人高清一区| 午夜国产精品影院在线观看| 一区二区精品在线观看| 亚洲欧美日韩成人在线| 国内精品国产三级国产a久久| 2024亚洲男人天堂| 欧美黑人精品一区二区不卡| 欧美日韩性在线观看| 亚洲第一天堂无码专区| 亚洲 国产 图片| 性欧美1819sex性高清| 亚洲一区在线视频| 亚洲自拍偷拍一区二区三区| 成人动漫在线免费观看| 成人丝袜高跟foot| 亚洲影影院av| 88av在线视频| 日韩1区2区日韩1区2区| 热99精品只有里视频精品| 少妇影院在线观看| 国产高清一区| 综合欧美国产视频二区| 人妻一区二区视频| 亚洲精品推荐| 日韩av在线最新| 影音先锋资源av| 人人爱人人干婷婷丁香亚洲| 欧美理论电影在线| 奇米影视四色在线| 国产精品久久久久久吹潮| 色综合久久久久综合99| 乱妇乱女熟妇熟女网站| 成人在线黄色电影| 亚洲一二三级电影| 搞av.com| 九色porny自拍视频在线观看 | 91偷拍与自偷拍精品| 国产欧美日韩一区| 同心难改在线观看| 久久只精品国产| 欧美18视频| 黑人与亚洲人色ⅹvideos| 国产亚洲va综合人人澡精品 | 国产一区电影| 国产人成一区二区三区影院| 日本一区二区视频| 成人午夜影视| 国产精品久久久久7777按摩| 在线一区亚洲| 麻豆传媒在线免费| 欧美久久精品| 日韩av在线免费观看一区| 亚洲の无码国产の无码步美| 黄色欧美网站| 亚洲精品中文字幕av| 久久中文字幕人妻| 国产成人精品免费视| 亚洲人成在线观看| 国产亚洲精品精品精品| 91综合久久| 欧美精品在线视频观看| 国产真实的和子乱拍在线观看| 黄色成人在线网址| 26uuu国产精品视频| 亚洲天堂五月天| 久久国产精品99精品国产| 亚洲一区二区三区香蕉| 男人的天堂a在线| 久久精品一级爱片| 欧美性受黑人性爽| 黄视频网站在线观看| 在线观看一区二区视频| 日本高清免费在线视频| 欧美理论电影在线精品| 亚洲性69xxxbbb| 欧美三级黄色大片| 99在线热播精品免费99热| 国产成人一区二区三区小说| 国产精品永久久久久久久久久| 成人爱爱电影网址| 亚洲国产精品一区在线观看不卡| 主播国产精品| 日本韩国欧美一区| 2018国产精品| 欧美一区电影| 羞羞色国产精品| 一级特黄aaaaaa大片| 国产a久久麻豆| 日本一区二区三区视频在线观看 | 综合久久中文字幕| 成人午夜电影小说| 亚洲精品欧洲精品| 僵尸再翻生在线观看| 欧美精选一区二区| av在线网站观看| 欧美影视一区| 国产精品久久久久999| 黄色av免费观看| 国产精品你懂的在线| 国内精品在线观看视频| 99综合99| 亚洲最新视频在线| 日韩欧美三级视频| 国产精一区二区三区| 色综合久久久久久久久五月| 白浆在线视频| 日韩丝袜情趣美女图片| 日韩影视一区二区三区| 亚洲影视综合| 国产精品日韩高清| 性爱视频在线播放| 91精品国产综合久久香蕉的特点| 中文人妻一区二区三区| 极品尤物久久久av免费看| 国产主播精品在线| av网站在线播放| 色欧美88888久久久久久影院| 69xxx免费视频| 亚洲精品一二三区区别| 国产欧美日韩高清| yourporn在线观看中文站| 日韩欧美精品网址| 青青草成人免费视频| 欧美一区亚洲| 亚洲一区中文字幕| 性欧美videoshd高清| 在线不卡中文字幕| 日韩在线视频免费看| 麻豆成人av在线| 亚洲成色www久久网站| 欧美日韩亚洲国产| 在线观看亚洲区| 中国黄色一级视频| 1区2区3区精品视频| 亚洲天堂网2018| 911精品美国片911久久久| 成人精品视频久久久久| 91高清在线观看视频| 日韩免费看网站| 劲爆欧美第一页| 处破女av一区二区| 91九色在线观看视频| 日韩欧美美女在线观看| 青青草原成人在线视频| 欧美性孕妇孕交| 欧美在线免费观看亚洲| 亚洲人做受高潮| 国内精品免费**视频| 日韩极品视频在线观看| 欧美精品中文| 国产精品xxx视频| 黄色网址免费在线观看| 日韩欧美亚洲另类制服综合在线| 国产精彩视频在线观看| 97se亚洲国产综合自在线| 中文字幕乱码人妻综合二区三区| 欧美日韩国产一区二区三区不卡 | 久久av综合| 国产精品视频不卡| 污污网站在线看| 日韩精品视频观看| 亚洲天堂手机版| 亚洲一区二区中文在线| 中文字幕高清视频| 精品在线免费观看| 成人精品视频在线播放| 久久99国产精品视频| 91精品国产综合久久香蕉| 国产色婷婷在线| 亚洲视频在线观看免费| aaa国产视频| 天天影视网天天综合色在线播放| 国产美女永久免费无遮挡| 国产自产2019最新不卡| 国产素人在线观看| 国产韩日影视精品| 国产亚洲欧美一区二区三区| 欧美影视资讯| 久久久久国产精品免费网站| 成年人在线看| 亚洲第一区中文字幕| 中文字幕 国产| 亚洲国产日韩精品| 欧美福利在线视频| 99re这里只有精品视频首页| 久久6免费视频| 亚洲欧美成人| 日本大胆人体视频| 大色综合视频网站在线播放| 国产精品国产一区二区| 另类一区二区| 日本a级片电影一区二区| 日韩电影免费观看| 最近2019年好看中文字幕视频| 空姐吹箫视频大全| 91精品国产综合久久精品性色| 日本高清不卡码| 午夜久久久影院| 麻豆精品一区二区三区视频| 国产精品网友自拍| 波多野结衣 在线| 国产69精品久久99不卡| 中文字幕66页| 日韩电影在线看| 18岁网站在线观看| 欧美日韩综合| 天天在线免费视频| 欧美韩日高清| 亚欧精品在线| 国产日韩视频在线| 久久日韩精品| 视频福利一区| 国产一区二区在线网站| 7777精品| 999视频在线免费观看| 婷婷精品久久久久久久久久不卡| 国产精品第10页| 日韩伦理在线| 69精品小视频| 爱啪视频在线观看视频免费| 高清在线视频日韩欧美| 欧美理论电影| 欧美激情网友自拍| 激情网站在线| 欧美激情三级免费| 麻豆av在线免费观看| 欧美高清视频在线观看| 亚洲www色| 国内精品久久久久伊人av| 黄页网站在线| 午夜精品免费视频| 精精国产xxxx视频在线播放| 91成品人片a无限观看| 亚洲第一av| 日韩免费观看av| 99久久er| 91久久嫩草影院一区二区| 精品成人18| 成人三级在线| 色综合www| 欧美日韩精品免费在线观看视频| 欧美日韩爱爱| 天堂一区二区三区 | 国产农村妇女精品| 欧美xxxx精品| 亚洲欧美另类久久久精品| 激情综合五月网| 欧美视频13p| 在线观看中文字幕2021| 91麻豆精品国产91久久久使用方法| 夜夜躁很很躁日日躁麻豆| 日韩一区二区三区观看| 天天干天天干天天干| 亚洲免费成人av电影| yjizz视频网站在线播放| 久久久精品国产网站| 免费毛片在线看片免费丝瓜视频| 欧美亚洲一级片| 九九热这里有精品| 春色成人在线视频| 九九久久精品| 国产四区在线观看| 在线成人国产| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 成人欧美一区二区三区1314| 久草中文在线视频| 在线免费精品视频| 精品人妻一区二区三区蜜桃| 亚洲欧美国产精品久久久久久久 | 免费观看毛片网站| 国产一区二区三区18| 日本大片在线播放| 日韩av电影在线免费播放| www.成人| 日本中文不卡| 亚洲大片在线| 天天干天天玩天天操| hitomi一区二区三区精品| 啪啪一区二区三区| 舔着乳尖日韩一区| 国产乱色精品成人免费视频| 日韩h在线观看| 高清全集视频免费在线| 日本中文字幕久久看| 日日夜夜精品视频| 亚洲国产一区二区三区在线播| 雨宫琴音一区二区在线| 精品亚洲一区二区三区四区| 北条麻妃国产九九精品视频| 伊人久久久久久久久久久久久久| 调教+趴+乳夹+国产+精品| 99热这里只有精品3| 亚洲图片在区色| 欧美大胆a人体大胆做受| 亚洲一区二区日本| 日韩国产在线| 久久久久久久久久福利| 成人午夜免费av| 91插插插插插插| 欧美性猛交xxxxxxxx| 四虎在线免费看| 久久久久久久一区二区| 国产午夜久久av| 亚洲欧美久久234| 久久一综合视频| 北岛玲一区二区| 亚洲国产另类精品专区| 国产极品999| 久久精品成人欧美大片古装| 日韩中文在线播放| 蜜桃av久久久亚洲精品| 在线视频精品| 国产国语老龄妇女a片| 一区二区久久久久| www.av黄色| 欧美成aaa人片免费看| 欧美综合影院| 正在播放一区二区三区| 久久爱www久久做| 呻吟揉丰满对白91乃国产区| 在线免费观看不卡av| 成人av电影观看| 日本中文字幕伦在线观看| 欧美国产日韩精品| 韩国女主播一区二区| 蜜桃传媒视频麻豆一区| 亚洲黄色一区| 亚洲av无码一区东京热久久| 亚洲最大成人综合| 精品国产伦一区二区三区| 精品国产拍在线观看| 久久久国产精品成人免费| 亚洲精品电影网在线观看| 97在线视频免费观看完整版| 国产精品加勒比| 日韩一区二区久久| 午夜一区二区三区免费| 欧美日韩国产在线看| 欧美女优在线| 国产精品美乳一区二区免费| 色综合久久一区二区三区| 一区二区三区四区毛片| 亚洲伦理在线精品| 国产自产一区二区| 66m—66摸成人免费视频| 九九综合九九| 亚洲成人福利在线| 亚洲美女偷拍久久| 粉嫩av一区二区夜夜嗨| 欧美在线视频导航| 成人羞羞视频播放网站| 99九九精品视频| 一区二区三区在线影院| 全国男人的天堂网| 国产极品jizzhd欧美| 香港欧美日韩三级黄色一级电影网站| 激情久久综合网| 亚洲成av人影院| 成人动漫在线播放| 999精品视频一区二区三区| 宅男噜噜噜66国产日韩在线观看| 久久精品国产亚洲AV熟女| 欧美日韩一二区| 丰满的护士2在线观看高清| 欧美另类网站| 国产一区二区三区美女| 日韩免费视频网站| 在线激情影院一区| 一区二区三区四区精品视频| 北条麻妃在线一区| 亚洲欧美激情视频在线观看一区二区三区| 亚洲第一视频在线| 国产精品对白刺激| 欧美精品网站| 精品欧美一区二区久久久| 日韩欧美高清dvd碟片| 欧美一区国产| 国产精品igao激情视频| 久久久久国产精品人| 国产色视频在线| 国产精品久久久久久久9999| 亚洲二区精品| 来吧亚洲综合网| 亚洲欧美中文另类| 成人av地址|