adding fallback for feign client

This commit is contained in:
Ryan Baxter
2016-08-15 10:47:21 -04:00
parent 524c2a728d
commit fe1b707ce7

View File

@@ -1,5 +1,6 @@
package demo;
import demo.FeignClientWithServerListApplicationTests.TestApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -9,14 +10,13 @@ import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.boot.test.WebIntegrationTest;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.annotation.DirtiesContext;
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;
import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class)
@@ -41,12 +41,25 @@ public class FeignClientWithServerListApplicationTests {
public static void main(String[] args) {
SpringApplication.run(FeignClientApplication.class, args);
}
@Bean
public FallbackRestClient getFallback() {
return new FallbackRestClient();
}
}
@FeignClient("myexample")
@FeignClient(value = "myexample", fallback = FallbackRestClient.class)
static interface RestClient {
@RequestMapping(value="/", method=RequestMethod.GET)
String hello();
}
static class FallbackRestClient implements RestClient {
@Override
public String hello() {
return "fallback";
}
}
}