微服务之Feign远程调用

1.微服务之间一般都是业务分离,会创建一个独立的模块来存放接口,方便以后调用,以及防止代码的冗余和降低耦合性

2.导入feign的依赖

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

3.构建feign模块,并创建接口

@FeignClient(value = "leadnews-wemedia")//服务调用者
public interface IWemediaClient {/*** 频道分类查询* @return*/@GetMapping("/api/v1/channel/list")public ResponseResult channel();}

4.在leadnews-wemedia模块feign包下,创建一个实现类来实现远程接口,然后再对业务进行一个实现

import com.heima.apis.wemedia.IWemediaClient;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.wemedia.service.WmChannelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class WemediaClient implements IWemediaClient {@Autowiredprivate WmChannelService wmChannelService;/*** 查询所有频道分类* @return*/@GetMapping("/api/v1/channel/list")@Overridepublic ResponseResult channel() {return wmChannelService.findAllChannel();}
}

在leadnews-wemedia模块下也导入feign客户端依赖

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

并在启动类上添加注解@EnableFeignClients(basePackages = “com.wcl.apis”),basePackages对应的是feign模块下接口的路径

5.测试,通过spring容器注入接口,进行一个调用

    @Autowiredprivate IWemediaClient iWemediaClient;@Testpublic void test(){ResponseResult channel = iWemediaClient.chanwnel();}

注:不同的模块业务下都可以进行一个远程调用,但一定要导入feign客户端的依赖和启动类添加注解
@EnableFeignClients(basePackages = “com.wcl.apis”)

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

微服务之Feign远程调用相关推荐

  1. 微服务8 Feign远程调用

    目录 1.问题 2.使用 2.1导入依赖 2.2添加注解 2.3编写Feign客户端 2.4修改OrderService 2.3访问 java.lang.AbstractMethodError: Re ...

  2. 微服务采用何种远程调用方式?

    无论是微服务还是SOA,都面临着服务间的远程调用.那么服务间的远程调用方式有哪些呢? 常见的远程调用方式有以下几种: RPC:Remote Produce Call远程过程调用,类似的还有RMI.自定 ...

  3. 【学习日记2023.6.9】之 SpringCloud入门(认识微服务_服务拆分和远程调用RestTemplate_Eureka注册中心_Ribbon负载均衡_Nacos注册中心)

    文章目录 SpringCloud 1. 认识微服务 1.1 单体架构 1.2 分布式架构 1.3 微服务 1.4 SpringCloud 1.5 总结 2. 服务拆分和远程调用 2.1 服务拆分原则 ...

  4. day02 Nacos集群配置、Feign远程调用和统一网关Gateway

    1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用. 统一配置管理 当微服务部署的实例越来越多,达到数十.数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错.我们需要一 ...

  5. Feign远程调用组件与Gateway网关组件

    文章目录 1. Feign远程调用组件 1.1 Feign简介 1.2 Feign配置应用 1.3 Feign对负载均衡的支持 1.4 Feign对熔断器的支持 1.5 Feign对请求压缩和响应压缩 ...

  6. Feign-基于Feign远程调用

    Feign远程调用 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: •代码可读性差,编程体验不统一 •参数复杂URL难以维护 Feign是一个声明式的http客户端, ...

  7. 微服务之间的最佳调用方式

    上一篇:3600万中国人在抖音"上清华" 0.2T架构师学习资料干货分享 茉莉花,别名:茉莉,拉丁文名:Jasminum sambac (L.) Ait,木犀科.素馨属直立或攀援灌 ...

  8. SpringCloud使用Nacos服务发现实现远程调用

    本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...

  9. 怎么用feign远程调用别人的接口_Feign远程接口调用

    Feign远程接口调用 clouds234@163.com 2018-8-6 以下都是使用在springboot2.0.4内置启动插件基础上 Feign-only 不注册到eureka 单独使用fei ...

最新文章

  1. PostgreSQL教程(二):SQL语言
  2. springMVC如何接收和发送json数据对象
  3. c++ STL 容器——序列
  4. CISCO WLC架构及配置介绍
  5. 百度 mysql的sql优化_SQL优化问题
  6. [转载] Numpy 数学函数及逻辑函数
  7. 云创大数据荣获“南京实体经济十大优秀企业”
  8. 一周信创舆情观察(12.13~12.19)
  9. 如何进行软件需求分析
  10. 无人机通信电台--XBee-PRO 900HP (S3B)
  11. Diablo3狗熊榜
  12. Qt 笔锋 毛笔 钢笔 蜡笔 4k流畅画笔 Demo
  13. WiFi 运动,心跳,跌倒监测 (一)
  14. 《经济半小时》 20130906 指尖上的商机(五)数据时代
  15. nginx常用的优化配置
  16. 学习新的计算机语言的方法
  17. QT 读写CSV文件
  18. 新冠疫情下的化工企业数字化转型
  19. 35岁程序员如何转型
  20. css-doodle学习第四天 属性

热门文章

  1. 用Win7自带的工具给硬盘分区与合并
  2. 如何将ppt转换成pdf
  3. Python TIPS上一道关于人民币金额小写转大写的题
  4. 华为交换机Console和VTY端口区别
  5. 饿了么领取最大红包php源码,『开源』#饿了么美团外卖#一键领取手气最佳红包...
  6. 改变bam文件header的方法:samtools reheader和picard AddOrReplaceReadGroups
  7. 数字之迷--九宫格到121宫格之解
  8. 飞机大战python代码_飞机大战Python程序
  9. codeforces-1395D Boboniu Chats with Du【前缀和】【枚举】
  10. vue外卖二十一:商家详情-评价列表-条件过滤显示评价:只显示好评/差评+显示只带内容评价、用getters生成好评数量新状态