From c342250c42dbd6ffa71d34366dcd86776d220180 Mon Sep 17 00:00:00 2001 From: Wonder Date: Tue, 7 Oct 2025 00:57:54 +0800 Subject: [PATCH] =?UTF-8?q?Update:=20=E9=9B=86=E6=88=90=20Feign=20Client?= =?UTF-8?q?=20=E5=92=8C=20Ribbon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service-consumer/pom.xml | 8 ++++++++ .../serviceconsumer/ServiceConsumerApplication.java | 4 ++++ .../serviceconsumer/client/ServiceProducerClient.java | 11 +++++++++++ .../serviceconsumer/controller/ConsumeController.java | 5 +++-- service-consumer/src/main/resources/bootstrap.yml | 2 +- .../serviceproducer/ServiceProducerApplication.java | 1 - service-producer/src/main/resources/bootstrap.yml | 2 +- 7 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/client/ServiceProducerClient.java diff --git a/service-consumer/pom.xml b/service-consumer/pom.xml index e9d32a9..301eb9c 100644 --- a/service-consumer/pom.xml +++ b/service-consumer/pom.xml @@ -43,7 +43,15 @@ spring-cloud-starter-loadbalancer + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + diff --git a/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/ServiceConsumerApplication.java b/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/ServiceConsumerApplication.java index de7ff87..e6b1822 100644 --- a/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/ServiceConsumerApplication.java +++ b/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/ServiceConsumerApplication.java @@ -2,8 +2,12 @@ package cn.hezhaohui.serviceconsumer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication +@EnableFeignClients +@EnableDiscoveryClient public class ServiceConsumerApplication { public static void main(String[] args) { SpringApplication.run(ServiceConsumerApplication.class, args); diff --git a/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/client/ServiceProducerClient.java b/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/client/ServiceProducerClient.java new file mode 100644 index 0000000..c314399 --- /dev/null +++ b/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/client/ServiceProducerClient.java @@ -0,0 +1,11 @@ +package cn.hezhaohui.serviceconsumer.client; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +@FeignClient(name = "service-producer") +public interface ServiceProducerClient { + + @GetMapping("/api/number") + String getNumber(); +} diff --git a/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/controller/ConsumeController.java b/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/controller/ConsumeController.java index 2fac9f5..02cd84d 100644 --- a/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/controller/ConsumeController.java +++ b/service-consumer/src/main/java/cn/hezhaohui/serviceconsumer/controller/ConsumeController.java @@ -1,5 +1,6 @@ package cn.hezhaohui.serviceconsumer.controller; +import cn.hezhaohui.serviceconsumer.client.ServiceProducerClient; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -11,11 +12,11 @@ import org.springframework.web.client.RestTemplate; public class ConsumeController { @Resource - private RestTemplate restTemplate; + private ServiceProducerClient serviceProducerClient; @GetMapping("/print") public String print() { - String number = restTemplate.getForObject("http://service-producer/api/number", String.class); + String number = serviceProducerClient.getNumber(); return "[Generate]: " + number; } diff --git a/service-consumer/src/main/resources/bootstrap.yml b/service-consumer/src/main/resources/bootstrap.yml index 2a607aa..790f819 100644 --- a/service-consumer/src/main/resources/bootstrap.yml +++ b/service-consumer/src/main/resources/bootstrap.yml @@ -8,4 +8,4 @@ spring: eureka: client: service-url: - defaultZone: http://localhost:8761/eureka \ No newline at end of file + defaultZone: http://localhost:8761/eureka/ \ No newline at end of file diff --git a/service-producer/src/main/java/cn/hezhaohui/serviceproducer/ServiceProducerApplication.java b/service-producer/src/main/java/cn/hezhaohui/serviceproducer/ServiceProducerApplication.java index 1825219..d524545 100644 --- a/service-producer/src/main/java/cn/hezhaohui/serviceproducer/ServiceProducerApplication.java +++ b/service-producer/src/main/java/cn/hezhaohui/serviceproducer/ServiceProducerApplication.java @@ -4,7 +4,6 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication - public class ServiceProducerApplication { public static void main(String[] args) { SpringApplication.run(ServiceProducerApplication.class, args); diff --git a/service-producer/src/main/resources/bootstrap.yml b/service-producer/src/main/resources/bootstrap.yml index e23cfc0..ed338c6 100644 --- a/service-producer/src/main/resources/bootstrap.yml +++ b/service-producer/src/main/resources/bootstrap.yml @@ -8,4 +8,4 @@ spring: eureka: client: service-url: - defaultZone: http://localhost:8761/eureka \ No newline at end of file + defaultZone: http://localhost:8761/eureka/ \ No newline at end of file