From e4e5ba7f60409ff8d11dc2ff2cf9337355b449dd Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Mon, 5 Jun 2023 11:39:04 +0800 Subject: [PATCH] fix:use path parameter in `@FeignClient` for circuit-breaker. --- .../PolarisCircuitBreakerNameResolver.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java index 2768344f1..9c71bc7ed 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java @@ -27,6 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.CircuitBreakerNameResolver; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import static org.springframework.core.annotation.AnnotatedElementUtils.findMergedAnnotation; @@ -46,15 +47,17 @@ public class PolarisCircuitBreakerNameResolver implements CircuitBreakerNameReso String path = ""; // Get path in @FeignClient. - URI uri = null; - try { - uri = new URI(target.url()); - } - catch (URISyntaxException e) { - LOG.warn("Generate URI from url({}) in @FeignClient. failed.", target.url()); - } - if (uri != null) { - path += uri.getPath(); + if (StringUtils.hasText(target.url())) { + URI uri = null; + try { + uri = new URI(target.url()); + } + catch (URISyntaxException e) { + LOG.warn("Generate URI from url({}) in @FeignClient. failed.", target.url()); + } + if (uri != null) { + path += uri.getPath(); + } } // Get path in @RequestMapping.