微服务之Feign远程调用
微服务之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远程调用相关推荐
- 微服务8 Feign远程调用
目录 1.问题 2.使用 2.1导入依赖 2.2添加注解 2.3编写Feign客户端 2.4修改OrderService 2.3访问 java.lang.AbstractMethodError: Re ...
- 微服务采用何种远程调用方式?
无论是微服务还是SOA,都面临着服务间的远程调用.那么服务间的远程调用方式有哪些呢? 常见的远程调用方式有以下几种: RPC:Remote Produce Call远程过程调用,类似的还有RMI.自定 ...
- 【学习日记2023.6.9】之 SpringCloud入门(认识微服务_服务拆分和远程调用RestTemplate_Eureka注册中心_Ribbon负载均衡_Nacos注册中心)
文章目录 SpringCloud 1. 认识微服务 1.1 单体架构 1.2 分布式架构 1.3 微服务 1.4 SpringCloud 1.5 总结 2. 服务拆分和远程调用 2.1 服务拆分原则 ...
- day02 Nacos集群配置、Feign远程调用和统一网关Gateway
1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用. 统一配置管理 当微服务部署的实例越来越多,达到数十.数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错.我们需要一 ...
- Feign远程调用组件与Gateway网关组件
文章目录 1. Feign远程调用组件 1.1 Feign简介 1.2 Feign配置应用 1.3 Feign对负载均衡的支持 1.4 Feign对熔断器的支持 1.5 Feign对请求压缩和响应压缩 ...
- Feign-基于Feign远程调用
Feign远程调用 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: •代码可读性差,编程体验不统一 •参数复杂URL难以维护 Feign是一个声明式的http客户端, ...
- 微服务之间的最佳调用方式
上一篇:3600万中国人在抖音"上清华" 0.2T架构师学习资料干货分享 茉莉花,别名:茉莉,拉丁文名:Jasminum sambac (L.) Ait,木犀科.素馨属直立或攀援灌 ...
- SpringCloud使用Nacos服务发现实现远程调用
本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...
- 怎么用feign远程调用别人的接口_Feign远程接口调用
Feign远程接口调用 clouds234@163.com 2018-8-6 以下都是使用在springboot2.0.4内置启动插件基础上 Feign-only 不注册到eureka 单独使用fei ...
最新文章
- PostgreSQL教程(二):SQL语言
- springMVC如何接收和发送json数据对象
- c++ STL 容器——序列
- CISCO WLC架构及配置介绍
- 百度 mysql的sql优化_SQL优化问题
- [转载] Numpy 数学函数及逻辑函数
- 云创大数据荣获“南京实体经济十大优秀企业”
- 一周信创舆情观察(12.13~12.19)
- 如何进行软件需求分析
- 无人机通信电台--XBee-PRO 900HP (S3B)
- Diablo3狗熊榜
- Qt 笔锋 毛笔 钢笔 蜡笔 4k流畅画笔 Demo
- WiFi 运动,心跳,跌倒监测 (一)
- 《经济半小时》 20130906 指尖上的商机(五)数据时代
- nginx常用的优化配置
- 学习新的计算机语言的方法
- QT 读写CSV文件
- 新冠疫情下的化工企业数字化转型
- 35岁程序员如何转型
- css-doodle学习第四天 属性
热门文章
- 用Win7自带的工具给硬盘分区与合并
- 如何将ppt转换成pdf
- Python TIPS上一道关于人民币金额小写转大写的题
- 华为交换机Console和VTY端口区别
- 饿了么领取最大红包php源码,『开源』#饿了么美团外卖#一键领取手气最佳红包...
- 改变bam文件header的方法:samtools reheader和picard AddOrReplaceReadGroups
- 数字之迷--九宫格到121宫格之解
- 飞机大战python代码_飞机大战Python程序
- codeforces-1395D Boboniu Chats with Du【前缀和】【枚举】
- vue外卖二十一:商家详情-评价列表-条件过滤显示评价:只显示好评/差评+显示只带内容评价、用getters生成好评数量新状态