feign服務端發現異常客戶端處理的方法介紹

前言

十載的延川網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網站建設的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整延川建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯從事“延川網站設計”,“延川網站推廣”以來,每個客戶項目都認真落實執行。

在使用feign進行遠程方法調用時,如果遠程服務端方法出現異常,客戶端有時需要捕獲,并且把異常信息返回給前端,而如果在開啟熔斷之后,這個異常會被消化,所以說,如果希望拿到服務端異常,feign.hystrix.enable需要設置為false,而當不開熔斷時,我們也有幾種方法把拿到服務端的異常信息,下面總結一下。

  • try...catch方法
  • feign異常攔截器

try...catch方法

這個方法比較直觀,也最好理解,但業務層會有很多try...catch這種代碼,所以不是很推薦。

注意:雖然服務端方法返回為ResponseEntity,但出現4xx,5xx這些異常時,還是會拋出一個FeignException的異常,而這對于服務來說,向前端拋出的還是5xx的服務端異常,這不是我們希望看到的。

try {
  ResponseEntity<?> body = productClient.add(name);
  if (body.getStatusCode().equals(HttpStatus.OK)) {
  return "test";
  } else {
  return body.getBody().toString();
  }
 } catch (FeignException ex) {
  return ex.getMessage();
 }

feign異常攔截器

我們比較推薦使用這個方法,注冊一個bean對象,當feign調用出現異常時,會觸發這個方法,然后我們再統一處理這個異常,向下流繼續拋出加工后的錯誤信息。

/**
 * feign異常攔截器,當從feign拋出異常時走這個對象.
 */
@Configuration
@Slf4j
public class FeignClientErrorDecoder implements ErrorDecoder {

 @Override
 public Exception decode(String methodKey, Response response) {
 logger.info("feign client response:", response);
 String body = null;
 try {
  body = Util.toString(response.body().asReader());
 } catch (IOException e) {
  logger.error("feign.IOException", e);
 }
 if (response.status() >= 400 && response.status() <= 500) {
  throw Exceptions.badRequestParams(body);
 }
 return errorStatus(methodKey, response);
 }
}

注意,使用這個方式,需要在熔斷器關閉時才起作用,因為它們的執行過程是,先走這個攔截器,再走熔斷的fallback,所以這個異常會被熔斷吞掉,返回狀態為200,返回值為你的fallback的默認值。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對創新互聯的支持。

網站題目:feign服務端發現異常客戶端處理的方法介紹
標題網址:http://m.kartarina.com/article30/pipiso.html

成都網站建設公司_創新互聯,為您提供網站收錄、虛擬主機、搜索引擎優化靜態網站、網頁設計公司、電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司
主站蜘蛛池模板: 无码精品人妻一区二区三区免费| 中文字幕乱偷无码AV先锋| 国模吧无码一区二区三区| 亚洲热妇无码AV在线播放| 久久久久久精品无码人妻| 嫩草影院无码av| 国产AV无码专区亚洲A∨毛片| 无码丰满熟妇浪潮一区二区AV| 中日精品无码一本二本三本| 毛片一区二区三区无码| 日日麻批免费40分钟无码| 无码精品蜜桃一区二区三区WW| 2019亚洲午夜无码天堂| 伊人久久精品无码二区麻豆| 在线A级毛片无码免费真人| 色爱无码AV综合区| 亚洲av福利无码无一区二区| 精品久久久久久无码中文野结衣 | 东京热无码一区二区三区av| 亚洲午夜无码毛片av久久京东热| 一本色道久久HEZYO无码| 人妻无码久久久久久久久久久| 久久久久成人精品无码中文字幕 | 亚洲av中文无码乱人伦在线r▽| 妖精色AV无码国产在线看| 6080YYY午夜理论片中无码 | 东京热人妻无码一区二区av| 免费无码又爽又黄又刺激网站| 国产久热精品无码激情| 日韩精品无码专区免费播放| 西西午夜无码大胆啪啪国模| 国模GOGO无码人体啪啪| 亚洲VA中文字幕无码一二三区 | 亚洲AV无码乱码精品国产| 久久亚洲中文无码咪咪爱| 在线精品免费视频无码的| mm1313亚洲精品无码又大又粗| 伊人久久大香线蕉无码麻豆| 日韩a级无码免费视频| 国产白丝无码免费视频| 午夜福利无码不卡在线观看|