Feign:使用接口方式调用服务

一、什么是Feign

Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。

二、Feign的作用

Feign旨在使编写Java Http客户端变得更容易
实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一个客户端类来包装这些依赖服务的调用。所以,Feign在此基础上做了进一步的封装,由它来帮助我们定义和实现依赖服务接口的定义,在Feign的实现下,我们只需要创建一个接口并使用注解的方式来配置它 (类似以前Dao接口上标注Mapper注解,现在是一个微服务接口上面标注一个Feign注解即可),即可完成对服务提供方的接口绑定。

三、Feign的使用步骤

  • 直接在我们写的微服务项目中进行改造即可
  • 例如以下我在一个服务中需要用到另一个服务的信息,功能是在浏览的服务中使用用户信息,用户信息存在于用户服务。
a、首先在在线浏览的接口写一个接受的接口,用来接收返回的信息

b、在用户服务中创建feign

remoteFileNumberService是唯一的用于调用这个feign里面的方法(这里只有一个接口,里面可以写多个接口)
c、在用户服务的Controller中写接口,之后就是正常的查询,返回值会返给在线浏览服务的接收值【接收值.getData()】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666345.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【模型架构】学习RNN、LSTM、TextCNN和Transformer以及PyTorch代码实现

一、前言 在自然语言处理(NLP)领域,模型架构的不断发展极大地推动了技术的进步。从早期的循环神经网络(RNN)到长短期记忆网络(LSTM)、Transformer再到当下火热的Mamba(放在下一节&a…

ES升级--02--kibana安装与启动

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Kibana官网文档https://www.elastic.co/guide/cn/kibana/current/targz.html 1.官网下载https://www.elastic.co/cn/downloads/past-releases#kibana 2.解压软件3.配…

揭秘百度不为人知的“秘密”(免费AI工具一直就在身边)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒💡 功能介绍🎈 海量图片资源🎈 AI图像处理工具🎈 图像生成功能 📢 获取方式⚓️ 相关链接 ⚓️…

防止数据泄露的方法你知道几种?哪种好用?

一、好用的防泄密方法是哪种? 简单且好用的防泄密方法则是使用数据加密防泄密系统,保护企业数据安全,防止泄露问题的出现,维护各方利益。那么,哪个防泄密系统好用呢?比如:迅软加密防泄密系统等…

python | 类的实现

和实例有关的,通过对象名,打点调用 实例属性,实例方法 stuStudent("XiaoMing",18) print(stu.name) 类属性、静态方法和类方法都是通过类名直接调用 Student.name 静态方法和类方法都不能调用实例属性和实例方法 动态绑定 如果是函…

【html】用html模拟微信布局

您做的这个模拟微信布局的作品很不错,使用了Flexbox布局来实现元素的灵活排列。以下是关于您代码的一些分析和建议: 效果图: 代码分析: 全局样式重置: 您使用了* { margin: 0; padding: 0; }来重置所有元素的边距。这是一个常见的做法,可以避免不同浏览器默认样式的差…

服务器的初始化

服务器的初始化 新的服务器到手,部署服务器的初始化。 1、配置ip地址 网关 dns解析(static)内网和外网 2、安装源,外网(在线即可)内网(只能用源码包编译安装) 3、磁盘分区&#…

Python零基础-下【详细】

接上篇继续: Python零基础-中【详细】-CSDN博客 目录 十七、网络编程 1、初识socket (1)socket理解 (2)图解socket (3)戏说socket (4)网络服务 (5&a…

(CPU/GPU)粒子继承贴图颜色发射

GetRandomInfo节点(复制贴进scratch pad Scripts) Begin Object Class/Script/NiagaraEditor.NiagaraClipboardContent Name"NiagaraClipboardContent_22" ExportPath/Script/NiagaraEditor.NiagaraClipboardContent"/Engine/Transient.NiagaraClipboardConten…

AIGC智能办公实战 课程,祝你事业新高度

在数字化时代,人工智能(AI)已经渗透到我们生活的方方面面,从智能家居到自动驾驶,从医疗诊断到金融分析,AI助手正在改变我们的工作方式和生活质量。那么,你是否想过自己也能从零开始,…

实用篇| huggingface网络不通

之前文章《Transformer原理》中介绍过,Transformers 是由 Hugging Face 开发的一个包,支持加载目前绝大部分的预训练模型。随着 BERT、GPT 等大规模语言模型的兴起,越来越多的公司和研究者采用 Transformers 库来构建应用。 Hugging Face是一家美国公司…

举个栗子!Tableau 技巧(275):散点图的数值重合怎么办?抖动图来咯

散点图是大家经常使用的分析图表,但是如果出现多个数据点具有完全相同的 X 和 Y 值,多个散点重叠并隐藏后,查看数据就很不方便了。 遇到这种情况,该怎么办?其实可以尝试将数据点稍微抖动一下!如下图&#…

使用 Vue 3 和 vue-print-nb 插件实现复杂申请表的打印

文章目录 1:创建 Vue 3 项目2:安装 vue-print-nb 插件3:配置 vue-print-nb 插件4:创建一个复杂的申请表5:使用 ApplicationForm 组件6:运行项目 在开发管理系统或申请表打印功能时,打印功能是一…

MagicTime - 文本生成视频,AI生成延时视频软件 本地一键包

MagicTime 是一款由北大团队开发的新框架,是一种基于文本描述生成高质量变化视频的模型。它通过学习时间流逝视频中的物理知识,实现了高度逼真的变化过程模拟。用于生成可变时间延时视频( Metamorphic Videos )。简单一点来说&…

G4 - 可控手势生成 CGAN

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 代码总结与心得 代码 关于CGAN的原理上节已经讲过,这次主要是编写代码加载上节训练后的模型来进行指定条件的生成 图像的生成其实只需要使用…

艾体宝方案 | redis赋能游戏开发,游戏玩家纵享丝滑

掉线,加载缓慢,反馈无跟进,这些令游戏玩家炸毛的问题,同时也是游戏开发者关注的问题。开发者将目光投向了Redis,一个实时数据平台,告别卡顿延迟! 一、玩家不掉线,游戏更丝滑 在大型…

Redis学习笔记【基础篇】

SQL vs NOSQL SQL(Structured Query Language)和NoSQL(Not Only SQL)是两种不同的数据库处理方式,它们在多个维度上有所差异,主要区别包括: 数据结构: SQL(关系型数据库)…

【OceanBase诊断调优】—— obdiag 工具助力OceanBase数据库诊断调优(DBA 从入门到实践第八期)

1. 前言 昨天给大家分享了【DBA从入门到实践】第八期:OceanBase数据库诊断调优、认证体系和用户实践 中obdiag的部分,今天将其中的内容以博客的形式给大家展开一下,方便大家阅读。 2. 正文 在介绍敏捷诊断工具之前,先说说OceanBa…

移植其他命令行Vivado IDE的工具

移植其他命令行Vivado IDE的工具 介绍 本章介绍如何迁移各种AMD命令行工具以在AMD中使用 Vivado™集成设计环境(IDE)。 迁移ISE Partgen命令行工具 ISE™Design Suite Partgen工具可获得: •系统上安装的所有设备的信息 •详细的包装信息 您可…

Leetcode刷题笔记7

69. x 的平方根 69. x 的平方根 - 力扣(LeetCode) 假设求17的平方根 解法一:暴力解法 从1开始依次尝试 比如1的平方是1,2的平方是4...直到5的平方,25>17,所以一定是4点几的平方,所以等于4…