Adjust to new @FeignCLient semantics

This commit is contained in:
Dave Syer
2015-01-29 17:42:35 +00:00
parent 466a0be886
commit d80ebcb223
3 changed files with 59 additions and 11 deletions

View File

@@ -3,25 +3,23 @@ package demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.cloud.netflix.feign.FeignClientScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Configuration
@ComponentScan
@EnableAutoConfiguration
@FeignClientScan
@EnableFeignClients
public class FeignClientApplication {
public static void main(String[] args) {
SpringApplication.run(FeignClientApplication.class, args);
}
SpringApplication.run(FeignClientApplication.class, args);
}
}
@FeignClient(value = "example.com", loadbalance = false)
@FeignClient(url = "example.com")
interface RestClient {
@RequestMapping(value="/", method=RequestMethod.GET)
@RequestMapping(value = "/", method = RequestMethod.GET)
String hello();
}

View File

@@ -0,0 +1,50 @@
package demo;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.IntegrationTest;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import demo.FeignClientWithServerListApplicationTests.TestApplication;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestApplication.class)
@IntegrationTest("example.ribbon.listOfServers:example.com")
public class FeignClientWithServerListApplicationTests {
@Autowired
private RestClient client;
@Test
public void clientConnects() {
assertTrue(client.hello().contains("<html"));
}
@Configuration
@EnableAutoConfiguration
@EnableFeignClients
protected static class TestApplication {
public static void main(String[] args) {
SpringApplication.run(FeignClientApplication.class, args);
}
}
@FeignClient("example")
static interface RestClient {
@RequestMapping(value="/", method=RequestMethod.GET)
String hello();
}
}