diff --git a/service/cloud-demo1/src/main/java/cn/bunny/controller/CloudController.java b/service/cloud-demo1/src/main/java/cn/bunny/controller/CloudController.java index 26c8df6..6c5d16b 100644 --- a/service/cloud-demo1/src/main/java/cn/bunny/controller/CloudController.java +++ b/service/cloud-demo1/src/main/java/cn/bunny/controller/CloudController.java @@ -1,10 +1,11 @@ package cn.bunny.controller; +import cn.bunny.feign.CallOtherApiFeignClient; import cn.bunny.feign.CloudFeignClient; -import cn.bunny.feign.CloudFeignClient1; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,11 +15,12 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/api") public class CloudController { + @Qualifier("cn.bunny.feign.CloudFeignClient") @Autowired private CloudFeignClient cloudFeignClient; @Autowired - private CloudFeignClient1 cloudFeignClient1; + private CallOtherApiFeignClient callOtherApiFeignClient; @Operation(summary = "本体接口调用", description = "feignCloud2") @GetMapping("feignCloud1") @@ -26,10 +28,10 @@ public class CloudController { return "feignCloud1:" + id; } - @Operation(summary = "调用cloud2中的接口") - @GetMapping("feignAccept1") - public String feignAccept1() { - return cloudFeignClient1.feignAccept1(); + @Operation(summary = "使用OpenFeign调用其它第三方API") + @GetMapping("posts") + public Object posts() { + return callOtherApiFeignClient.posts("sss"); } @Operation(summary = "调用服务2中接口", description = "feignByCloud2") diff --git a/service/cloud-demo1/src/main/java/cn/bunny/feign/CallOtherApiFeignClient.java b/service/cloud-demo1/src/main/java/cn/bunny/feign/CallOtherApiFeignClient.java new file mode 100644 index 0000000..b1c754c --- /dev/null +++ b/service/cloud-demo1/src/main/java/cn/bunny/feign/CallOtherApiFeignClient.java @@ -0,0 +1,12 @@ +package cn.bunny.feign; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient(value = "third-party-service", url = "http://jsonplaceholder.typicode.com") +public interface CallOtherApiFeignClient { + + @GetMapping("/posts") + Object posts(@RequestParam("skey") String skey); +} diff --git a/service/cloud-demo1/src/main/java/cn/bunny/feign/CloudFeignClient.java b/service/cloud-demo1/src/main/java/cn/bunny/feign/CloudFeignClient.java index 92bf00e..15ce989 100644 --- a/service/cloud-demo1/src/main/java/cn/bunny/feign/CloudFeignClient.java +++ b/service/cloud-demo1/src/main/java/cn/bunny/feign/CloudFeignClient.java @@ -1,11 +1,9 @@ package cn.bunny.feign; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; -@Component @FeignClient(value = "service-cloud2", path = "/api") public interface CloudFeignClient { diff --git a/service/cloud-demo1/src/main/java/cn/bunny/feign/CloudFeignClient1.java b/service/cloud-demo1/src/main/java/cn/bunny/feign/CloudFeignClient1.java deleted file mode 100644 index 5dd8466..0000000 --- a/service/cloud-demo1/src/main/java/cn/bunny/feign/CloudFeignClient1.java +++ /dev/null @@ -1,10 +0,0 @@ -package cn.bunny.feign; - -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; - -@FeignClient(value = "service-cloud2", path = "/api") -public interface CloudFeignClient1 { - @GetMapping("feignAccept1") - String feignAccept1(); -} diff --git a/service/cloud-demo1/src/main/java/cn/bunny/feign/fallback/CloudFeignClientFallBack.java b/service/cloud-demo1/src/main/java/cn/bunny/feign/fallback/CloudFeignClientFallBack.java deleted file mode 100644 index 7a090fc..0000000 --- a/service/cloud-demo1/src/main/java/cn/bunny/feign/fallback/CloudFeignClientFallBack.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.bunny.feign.fallback; - -import cn.bunny.feign.CloudFeignClient1; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class CloudFeignClientFallBack implements CloudFeignClient1 { - - @Override - public String feignAccept1() { - return "出错了的回调"; - } -} diff --git a/service/cloud-demo1/src/main/java/cn/bunny/feign/fallback/CloudFeignFallBackClientFallBack.java b/service/cloud-demo1/src/main/java/cn/bunny/feign/fallback/CloudFeignFallBackClientFallBack.java new file mode 100644 index 0000000..57bcd18 --- /dev/null +++ b/service/cloud-demo1/src/main/java/cn/bunny/feign/fallback/CloudFeignFallBackClientFallBack.java @@ -0,0 +1,13 @@ +package cn.bunny.feign.fallback; + +import cn.bunny.feign.CloudFeignClient; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class CloudFeignFallBackClientFallBack implements CloudFeignClient { + + @Override + public String getFeignCloud2(Long id) { + return "getFeignCloud2 出错了的回调"; + } +} diff --git a/service/cloud-demo1/src/main/resources/application.yml b/service/cloud-demo1/src/main/resources/application.yml index 0055088..b14bd37 100644 --- a/service/cloud-demo1/src/main/resources/application.yml +++ b/service/cloud-demo1/src/main/resources/application.yml @@ -1,6 +1,5 @@ server: port: 8000 - spring: application: name: service-cloud1 @@ -25,4 +24,6 @@ spring: min-request-size: 4096 # 压缩最小值 为4096 = 4KB # 压缩响应请求 response: - enabled: true \ No newline at end of file + enabled: true +# main: +# allow-bean-definition-overriding: true \ No newline at end of file diff --git a/service/cloud-demo1/src/test/java/cn/bunny/AppTest.java b/service/cloud-demo1/src/test/java/cn/bunny/AppTest.java deleted file mode 100644 index 34b54ff..0000000 --- a/service/cloud-demo1/src/test/java/cn/bunny/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bunny; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -} diff --git a/service/cloud-demo2/src/main/java/cn/bunny/controller/CloudController.java b/service/cloud-demo2/src/main/java/cn/bunny/controller/CloudController.java index cf04f08..2b759a6 100644 --- a/service/cloud-demo2/src/main/java/cn/bunny/controller/CloudController.java +++ b/service/cloud-demo2/src/main/java/cn/bunny/controller/CloudController.java @@ -22,12 +22,6 @@ public class CloudController { return "feign:" + id; } - @Operation(summary = "接受其他接口调用1", description = "接受其他接口调用1") - @GetMapping("feignAccept1") - public String feignAccept1() { - return "feignAccept1---成功"; - } - @Operation(summary = "调用服务1中接口", description = "feignByCloud1") @GetMapping("feignByCloud1") public String feignByCloud1(Long id) { diff --git a/service/cloud-demo2/src/test/java/cn/bunny/AppTest.java b/service/cloud-demo2/src/test/java/cn/bunny/AppTest.java deleted file mode 100644 index 34b54ff..0000000 --- a/service/cloud-demo2/src/test/java/cn/bunny/AppTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bunny; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -}