SpringCloud之远程调用Feign

26 篇文章 1 订阅
16 篇文章 0 订阅

创建Feign的消费者实例

  • 创建项目,引入依赖
  • 借助动态代理接口实现远程调用
  • 比较Eureka,Ribbon和Feign的调用方式。

首先我们先创建一个ribbon-consumer的模块,并添加依赖:

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    </dependencies>

然后创建启动类
在这里插入图片描述
我们这里添加上@EnableFeignClients注解,表示开启远程调用。
然后创建配置文件:

spring:
  application:
    name: feign-consumer
server:
  port: 40000

eureka:
  client:
    service-url:
      defaultZone: http://localhost:20000/eureka/

我们来看,先前在我们的eureka-client模块中定义了一个sayHi的接口:
在这里插入图片描述
这里,我们尝试通过在feign-consumer模块中,尝试通过远程调用,来请求eureka-client里面的sayHi接口。

首先,我们定义一个Service:
在这里插入图片描述
这样,我们通过@FeignClient注解,声明远程调用的服务名称,然后在接口里通过@GetMapping标注要调用的接口。
图中就表示远程调用eureka-client服务的/sayHi接口。

然后我们在Controller里把Service注入进来进行调用
在这里插入图片描述
紧接着启动我们的eureka-server、eureka-client以及feign-client,然后我们通过Postman访问feign-client的接口:

在这里插入图片描述
经过测试,我们不难发现,通过调用feign的接口,请求到了eureka-client的服务,说明我们的demo是没有问题的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值