From 4ff738f377504fe8f2296df18cf7d0123641cdd9 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 17 十月 2019 22:11:03 +0800
Subject: [PATCH] 优化调用微服务时的报错
---
java110-core/src/main/java/com/java110/core/feign/UserErrorDecoder.java | 30 ++++++++++++++++++++++--------
1 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/feign/UserErrorDecoder.java b/java110-core/src/main/java/com/java110/core/feign/UserErrorDecoder.java
index e6ac9e3..927dd42 100644
--- a/java110-core/src/main/java/com/java110/core/feign/UserErrorDecoder.java
+++ b/java110-core/src/main/java/com/java110/core/feign/UserErrorDecoder.java
@@ -10,27 +10,41 @@
import java.io.IOException;
+/**
+ * 鑷畾涔夊紓甯歌В鏋�
+ */
public class UserErrorDecoder implements ErrorDecoder {
+
+ private static final int HTTP_STATUS_400 = 400;
private Logger logger = LoggerFactory.getLogger(getClass());
+ /**
+ * 寮傚父瑙f瀽 鍦� SynchronousMethodHandler 绫� 134 鍙疯皟鐢�
+ *
+ * @param methodKey 鏂规硶key
+ * @param response 杩斿洖瀵硅薄
+ * @return 杩斿洖寮傚父
+ */
public Exception decode(String methodKey, Response response) {
Exception exception = null;
try {
String json = Util.toString(response.body().asReader());
- logger.error("璋冪敤鏂规硶鍑虹幇寮傚父浜嗭細"+json);
+ logger.error("璋冪敤鏂规硶鍑虹幇寮傚父浜嗭細" + json);
exception = new RuntimeException(json);
+ // 杩欓噷鍙皝瑁�4寮�澶寸殑璇锋眰寮傚父脽 && response.status() < 500
+ if (HTTP_STATUS_400 <= response.status()) {
+ exception = new HystrixBadRequestException("璇锋眰鍙傛暟閿欒锛�"+Util.toString(response.body().asReader()), exception);
+ } else {
+ logger.error(exception.getMessage(), exception);
+ }
} catch (IOException ex) {
logger.error(ex.getMessage(), ex);
}
- // 杩欓噷鍙皝瑁�4寮�澶寸殑璇锋眰寮傚父脽
- if (400 <= response.status() && response.status() < 500){
- exception = new HystrixBadRequestException("request exception wrapper", exception);
- }else{
- logger.error(exception.getMessage(), exception);
- }
+
+
return exception;
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0