精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

欧美精品一区二区高清在线观看| 亚洲同性gay激情无套| 欧美一级成年大片在线观看| 久久亚洲AV无码专区成人国产| 朝桐光一区二区| 亚洲欧美综合另类在线卡通| 好看的日韩精品| 伊人久久一区二区| 亚洲作爱视频| 日韩中文综合网| 日本国产在线视频| 丁香久久综合| 亚洲成人av一区二区| 日韩高清av电影| 亚洲免费成人网| 琪琪一区二区三区| 高清在线视频日韩欧美| 天天摸日日摸狠狠添| 久久亚洲道色| 日韩无一区二区| 丰满少妇在线观看| 久久香蕉一区| 国产精品国产三级国产aⅴ无密码| 痴汉一区二区三区| 亚洲天天综合网| 国产美女一区| 欧美激情精品久久久久久蜜臀| 五月婷六月丁香| 日韩超碰人人爽人人做人人添| 91精品国产综合久久福利软件| 日韩毛片在线免费看| 超免费在线视频| 亚洲欧美视频一区| 亚洲精品乱码久久久久久蜜桃91| 欧美一区二区三区黄片| 国产一区二区三区国产| 国产中文字幕亚洲| 欧美一级做a爰片免费视频| 欧美午夜在线| www.欧美三级电影.com| 亚洲色成人网站www永久四虎| 国产成人夜色高潮福利影视| 日韩精品自拍偷拍| 中文字幕久久久久久久| 99久久久国产| 91精品国产福利在线观看| 2025韩国理伦片在线观看| 亚洲成人人体| 91福利视频网站| 国产精品99久久免费黑人人妻| 中文字幕在线直播| 欧美日韩午夜视频在线观看| 香港三级韩国三级日本三级| 国产va在线视频| 亚洲高清视频在线| 亚洲国产精品无码观看久久| av电影在线免费| 午夜激情一区二区三区| 黄色网页免费在线观看| 一二三四视频在线中文| 欧美制服丝袜第一页| 国产又黄又猛视频| 国产私拍福利精品视频二区| 欧美网站一区二区| 99中文字幕在线| 婷婷综合国产| 欧美tk—视频vk| 中文字幕 欧美 日韩| 国产欧美日韩电影| 日韩午夜av电影| 荫蒂被男人添免费视频| 精品福利一区| 亚洲国产高清福利视频| 国产精品扒开腿做爽爽爽a片唱戏| 一区二区三区四区精品视频| 欧美大片顶级少妇| 久久精品aⅴ无码中文字字幕重口| 视频成人永久免费视频| 日韩一区二区三区观看| 在线免费观看视频黄| 美女网站视频一区| 欧美在线啊v一区| 超碰在线人人爱| 成人精品高清在线视频| 欧美日韩一区二区三区视频| 污污网站免费观看| 91麻豆精品一二三区在线| 91精品婷婷国产综合久久性色 | 婷婷中文字幕综合| 亚洲第一综合网站| 日韩电影免费观看| 性做久久久久久免费观看| 精品久久一二三| 久久青青视频| 欧美日韩精品一区二区天天拍小说| 在线黄色免费观看| 精品一级视频| 亚洲激情成人网| 亚洲成人黄色av| 国产精品国产三级国产在线观看| 欧美老女人xx| 在线免费日韩av| 玖玖精品视频| 亚洲一区二区三区毛片| 五月色婷婷综合| 国产亚洲精品久| 国产精品一二三在线观看| 91视频欧美| 欧美图片一区二区三区| 黄页网站在线看| 九九精品久久| 久久久国产影院| 国产午夜福利一区二区| 久久福利资源站| 国产一区二区在线观看免费播放| 国产在线观看网站| 亚洲一区国产视频| 欧美精品性生活| 91成人短视频| 尤物99国产成人精品视频| 青青草激情视频| 久久一二三四| 粉嫩av免费一区二区三区| av在线播放免费| 欧美午夜美女看片| 三大队在线观看| 欧美精品羞羞答答| 国模叶桐国产精品一区| 国产又黄又猛又爽| 91影院在线观看| 日本一道在线观看| 丰满少妇一区| 日韩成人xxxx| 黄色一级片中国| 久久久噜噜噜| 久久综合色一本| 日本一本在线免费福利| 999久久久久久久久6666| 国产黄色91视频| 三级三级久久三级久久18| av片哪里在线观看| 日本二三区不卡| 性活交片大全免费看| 91一区二区| 国产91在线播放九色快色| 亚洲乱码国产乱码精品精软件| av电影在线观看完整版一区二区| 免费成人深夜夜行网站视频| 成人免费网站www网站高清| 亚洲电影中文字幕| 成年人av电影| 韩国成人福利片在线播放| 五月天久久狠狠| 欧洲一级精品| 亚洲乱码av中文一区二区| 亚欧视频在线观看| 国产成人高清在线| 亚洲日本精品一区| 高清欧美日韩| 中文字幕亚洲二区| 黄色一区二区视频| 国产亚洲欧美日韩日本| aaa毛片在线观看| gogo久久日韩裸体艺术| 久久成人在线视频| 一本久道久久综合无码中文| 国产日本一区二区| 丝袜老师办公室里做好紧好爽| 成人精品毛片| 97香蕉久久超级碰碰高清版| 黄色小视频免费观看| 亚洲综合图片区| 国产女主播在线播放| 黄色精品网站| 国产九区一区在线| 精精国产xxxx视频在线野外| 亚洲精品国产综合区久久久久久久 | 欧美一区二区视频在线观看2020 | 欧美激情综合亚洲一二区| 成人h动漫精品一区二区无码| 玉米视频成人免费看| 中文字幕av一区二区三区人妻少妇| 亚洲激情久久| 国产精品久久久久久久久久久久冷| 黄页在线观看免费| 日韩成人av网| 在线观看毛片网站| 久久精品亚洲精品国产欧美kt∨ | 国产1区2区3区精品美女| www插插插无码免费视频网站| 国产精品自在| 国产成人精品一区| 欧美美女色图| 精品视频资源站| 青青草手机视频在线观看| 99久久久精品| 成人免费毛片播放| 亚洲精品久久| 国产自产在线视频一区| 都市激情亚洲综合| 国产一区二区免费| 亚洲第一天堂网| 色域天天综合网| 熟女少妇a性色生活片毛片| 国产精品白丝jk黑袜喷水| 你真棒插曲来救救我在线观看| 在线日韩一区| 91精品国产综合久久香蕉的用户体验| 日韩精品亚洲人成在线观看| 亚洲精品视频免费| 最近中文在线观看| 午夜精品视频在线观看| 谁有免费的黄色网址| 国产美女精品人人做人人爽| 久久久久久www| 欧美视频网址| 国产一区二区三区无遮挡| 久久日本片精品aaaaa国产| 欧美精品999| 香蕉视频黄色片| 91精品在线麻豆| 综合网在线观看| 亚洲精品久久久蜜桃| 蜜桃传媒一区二区亚洲| 粉嫩aⅴ一区二区三区四区 | 免费日韩电影在线观看| 91综合国产| 日av在线播放中文不卡| 欧美xxxx性xxxxx高清| 中文字幕欧美精品在线| 免费看av毛片| 欧美精品久久久久久久多人混战| 91香蕉在线视频| 亚洲免费观看高清完整| 先锋影音av在线| 韩国v欧美v亚洲v日本v| 亚洲欧美国产中文| 久久青草久久| 青青草成人免费在线视频| 国产精品99久久精品| 欧美一二三四五区| 欧美成人基地| www日韩av| www欧美在线观看| 日韩av免费一区| 僵尸再翻生在线观看| 欧美黑人狂野猛交老妇| 国产激情视频在线观看| 色系列之999| 二区在线观看| 亚洲欧美另类自拍| 涩涩视频在线观看免费| 亚洲变态欧美另类捆绑| www男人的天堂| 日韩欧美你懂的| 国产精品久久久久久久成人午夜| 欧美主播一区二区三区| 国产99免费视频| 色婷婷精品久久二区二区蜜臂av| 亚洲成人生活片| 1区2区3区精品视频| 国产精品久久国产精麻豆96堂| 欧美国产欧美综合| 国产免费无遮挡吸奶头视频| 久久久久久97三级| 谁有免费的黄色网址| 国产清纯白嫩初高生在线观看91| 在线观看福利片| 99re热这里只有精品免费视频| 爱爱的免费视频| 久久久久久久精| 欧美丰满美乳xxⅹ高潮www| 国产网站一区二区三区| 亚洲码无人客一区二区三区| 久久久99精品免费观看不卡| 手机毛片在线观看| 国产人伦精品一区二区| 日本伦理一区二区三区| 亚洲男人电影天堂| 久久精品波多野结衣| 亚洲成人精品一区二区| av黄色在线看| 在线观看一区不卡| 国产又粗又猛又爽又黄的视频一| 欧美午夜不卡在线观看免费| 一本久道久久综合无码中文| 欧美一卡2卡3卡4卡| 亚洲精品国产精品乱码不卡| 日韩精品中文字幕在线一区| 视频一区二区三区国产| 亚洲国产精久久久久久| 免费毛片在线| 日韩有码在线观看| 污污的网站在线免费观看| 97人人爽人人喊人人模波多| av在线资源| 国产在线观看精品| 视频一区在线| 欧美黄色直播| 国产精品福利在线观看播放| 国产亚洲一二三区| 亚洲日本黄色片| gogo大胆日本视频一区| 亚洲天堂岛国片| 亚洲精品自拍动漫在线| 欧美不卡视频在线观看| 在线精品国精品国产尤物884a| 国产三级伦理片| 日韩国产高清视频在线| 免费在线毛片网站| 久久久久一本一区二区青青蜜月| 老司机2019福利精品视频导航| 国产欧美一区二区三区久久| 加勒比久久高清| 中文字幕一区二区中文字幕| 天天揉久久久久亚洲精品| 97超碰青青草| 国内国产精品久久| 精品无码在线视频| 国产精品久久久久影院老司| www日韩精品| 91精品免费观看| 国产三级在线观看| 色综合91久久精品中文字幕| 伊人久久在线| 2019国产精品视频| 极品美女一区二区三区| 99在线免费视频观看| 老司机精品视频一区二区三区| 欧美大片免费播放器| 亚洲精品日日夜夜| 91video| 亚洲国产精品va| 国产激情在线| 国产日韩中文字幕在线| 亚洲国产欧美日韩在线观看第一区 | 91美女视频网站| 干日本少妇视频| 麻豆福利在线观看| 国产精品视频男人的天堂| 日韩深夜影院| www.亚洲视频.com| 国产一区二区精品久久91| 国精产品一区二区三区| 狠狠做深爱婷婷久久综合一区 | 欧美视频一区在线观看| www黄色在线观看| 欧美激情第99页| 韩国三级成人在线| 一区二区三区久久网| 日av在线不卡| 在线免费观看视频| 欧美视频不卡中文| 青青操视频在线| 91精品国产91久久久久久吃药| 成人在线视频中文字幕| 女同性恋一区二区| 国产一区二区伦理| 免费看一级黄色| 日本丶国产丶欧美色综合| 亚洲aaa在线观看| 欧美性资源免费| aaa国产精品视频| 蜜臀av无码一区二区三区| 成人国产在线观看| 日产欧产va高清| 亚洲国产日韩欧美综合久久 | 哺乳挤奶一区二区三区免费看 | 在线亚洲成人| 久久久老熟女一区二区三区91| 亚洲一卡二卡三卡四卡无卡久久| 超碰在线播放97| 美女精品视频一区| 粉嫩av一区二区| 欧美日本视频在线观看| 91女厕偷拍女厕偷拍高清| 中文字幕在线欧美| 夜夜嗨av色综合久久久综合网| 国模精品视频| 亚洲国产精品一区在线观看不卡| 麻豆传媒一区二区三区| 欧美另类videoxo高潮| 欧美一区二区三区免费在线看 | 久久99精品国产自在现线| av免费网站观看| 中文字幕一区二区三中文字幕| 国产黄色片免费观看| 91高清免费在线观看| 免费电影一区二区三区| 日韩av自拍偷拍| 亚洲午夜久久久久久久久电影院| 少妇av一区二区| 国产99视频在线观看| 亚洲成av人片一区二区密柚| 肉丝美足丝袜一区二区三区四| 五月激情综合婷婷| 成人福利在线| 国产精品久久国产精品| 日韩精品乱码av一区二区| 小早川怜子一区二区的演员表|