xujunwei před 3 roky
rodič
revize
953c4aac5c

+ 5 - 1
framework-boot/src/main/java/com/mrxu/framework/boot/feign/FeignProviderException.java

@@ -24,17 +24,21 @@ public class FeignProviderException extends RuntimeException implements Serializ
     // 当前服务名称
     private String serviceName;
 
+    // 请求路径
+    private String uri;
+
     private int code;
 
     private String msg;
 
     public FeignProviderException(){}
 
-    public FeignProviderException(boolean isBusinessException,String serviceName,BaseCode baseCode,Throwable cause) {
+    public FeignProviderException(boolean isBusinessException,String serviceName,String uri,BaseCode baseCode,Throwable cause) {
         super(cause);
         this.isBusinessException = isBusinessException;
         this.serviceName = serviceName;
         this.fromServiceName = RpcRequestInfo.getFromServiceName();
+        this.uri = uri;
         this.code = baseCode.getCode();
         this.msg = baseCode.getMsg();
     }

+ 5 - 1
framework-boot/src/main/java/com/mrxu/framework/boot/handle/FeignProviderExceptionHandler.java

@@ -2,6 +2,7 @@ package com.mrxu.framework.boot.handle;
 
 
 import com.mrxu.framework.boot.feign.FeignProviderException;
+import com.mrxu.framework.boot.web.ServletUtils;
 import com.mrxu.framework.common.util.BaseCode;
 import com.mrxu.framework.common.util.BusinessException;
 import lombok.extern.slf4j.Slf4j;
@@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+
 /**
  * @Author: xujunwei
  * @Description: 此异常拦截给微服务提供方使用,不能与WebExceptionHandler 同时使用
@@ -64,7 +67,8 @@ public class FeignProviderExceptionHandler {
     }
 
     public Object rendError(boolean isBusinessException,BaseCode code,Throwable cause) {
-        FeignProviderException exception = new FeignProviderException(isBusinessException,serviceName,code,cause);
+        HttpServletRequest request = ServletUtils.getRequest();
+        FeignProviderException exception = new FeignProviderException(isBusinessException,serviceName,request.getRequestURI(),code,cause);
         return exception;
     }