Feign---解决跨模块之间的服务请求

本文介绍SpringCloud中Feign与RestTemplate两种服务间通信技术的区别与应用场景。重点讲解Feign的配置与使用方法,对比RestTemplate的局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用场景:SpringCloud的核心宗旨是 “分开部署,独立运行

如何在多个服务之间进行通信,数据交流?

常用技术:

Restemplate

Feign(更常用)

在远程调用技术为什么使用Restemplate少?

    String url="http://path1/path2/"+具体参数;
    //通过restemplate将这个请求转发的User接口上,并且将得到的Json数据封装成AJAX
    restTemplate.getForObject(url, 类名.class);

这是一串Restemplate代码,存在的弊端:

1. 通过url路径作为请求的资源——硬编码,可读性差

2. 当url参数变复杂时,不方便维护

Feign的使用步骤

在资源端使用Fegin

  <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-openfeign</artifactId>
  </dependency>

启动类上加入注解@EnableFeignClients

将调用的接口暴露

 

2. Feign的调用端

使用时增加注解

细节方面

1. FeignClient只是一个接口,为什么可以调用方法当作一个类使用。因为在@Autowrited使用动态代理的方法实现了这个接口

2. 在使用FeignClient的方法的时候,Feign会根据@FeignClient指定的服务名,GetMapping指定的路由名,到对应的服务中,对应的路由中实现对应的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值