From fe1b707ce70311577a0de4c03bcae79fd396654d Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 15 Aug 2016 10:47:21 -0400 Subject: [PATCH] adding fallback for feign client --- ...nClientWithServerListApplicationTests.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/feign/src/test/java/demo/FeignClientWithServerListApplicationTests.java b/feign/src/test/java/demo/FeignClientWithServerListApplicationTests.java index e545f5a..1aa89ca 100644 --- a/feign/src/test/java/demo/FeignClientWithServerListApplicationTests.java +++ b/feign/src/test/java/demo/FeignClientWithServerListApplicationTests.java @@ -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"; + } + } }