|
@@ -54,4 +54,40 @@ public class FeignConfig {
|
|
|
return new Retryer.Default();
|
|
|
}
|
|
|
|
|
|
+// /**
|
|
|
+// * 自定义异常解码器
|
|
|
+// * 用于自定义返回体异常熔断
|
|
|
+// */
|
|
|
+// @Bean
|
|
|
+// public ErrorDecoder errorDecoder() {
|
|
|
+// return new CustomErrorDecoder();
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 自定义返回体解码器
|
|
|
+// */
|
|
|
+// @Slf4j
|
|
|
+// public static class CustomErrorDecoder implements ErrorDecoder {
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public Exception decode(String methodKey, Response response) {
|
|
|
+// Exception exception = null;
|
|
|
+// try {
|
|
|
+// // 获取原始的返回内容
|
|
|
+// String json = JsonUtils.toJsonString(response.body().asReader(StandardCharsets.UTF_8));
|
|
|
+// exception = new RuntimeException(json);
|
|
|
+// // 将返回内容反序列化为Result,这里应根据自身项目作修改
|
|
|
+// AjaxResult result = JsonUtils.parseObject(json, AjaxResult.class);
|
|
|
+// // 业务异常抛出简单的 RuntimeException,保留原来错误信息
|
|
|
+// if (result.getCode() != 200) {
|
|
|
+// exception = new RuntimeException(result.getMsg());
|
|
|
+// }
|
|
|
+// } catch (IOException e) {
|
|
|
+// log.error(e.getMessage(), e);
|
|
|
+// }
|
|
|
+// return exception;
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
}
|