diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignClientsRegistrar.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignClientsRegistrar.java index 5cc59eb2..49b8e332 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignClientsRegistrar.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignClientsRegistrar.java @@ -248,7 +248,7 @@ class FeignClientsRegistrar implements ImportBeanDefinitionRegistrar, private String getUrl(Map attributes) { String url = resolve((String) attributes.get("url")); - if (StringUtils.hasText(url) && !(url.startsWith("#{") && url.endsWith("}"))) { + if (StringUtils.hasText(url) && !(url.startsWith("#{") && url.contains("}"))) { if (!url.contains("://")) { url = "http://" + url; } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java index 9fd5e0ce..eabfd678 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/FeignHttpClientUrlTests.java @@ -88,13 +88,13 @@ public class FeignHttpClientUrlTests { Hello getHello(); } - @FeignClient(name = "beanappurl", url = "#{SERVER_URL}") + @FeignClient(name = "beanappurl", url = "#{SERVER_URL}path") protected interface BeanUrlClient { @RequestMapping(method = RequestMethod.GET, value = "/hello") Hello getHello(); } - @FeignClient(name = "beanappurlnoprotocol", url = "#{SERVER_URL_NO_PROTOCOL}") + @FeignClient(name = "beanappurlnoprotocol", url = "#{SERVER_URL_NO_PROTOCOL}path") protected interface BeanUrlClientNoProtocol { @RequestMapping(method = RequestMethod.GET, value = "/hello") Hello getHello(); @@ -113,6 +113,11 @@ public class FeignHttpClientUrlTests { return new Hello("hello world 1"); } + @RequestMapping(method = RequestMethod.GET, value = "/path/hello") + public Hello getHelloWithPath() { + return getHello(); + } + @Bean(name="SERVER_URL") public String serverUrl() { return "http://localhost:" + port + "/";