若依中Feign调用的具体使用(若依微服务版自身已集成openfeign依赖,并在此基础上定义了自己的注解)

news2025/1/8 17:34:53

若依中Feign调用具体使用

   注意:以下所有步骤实现的前提是需要在启动类上加入注解 @EnableRyFeignClients 主要是为开启feign接口扫描   

1.创建服务提供者(provider)

导入依赖(我在分析依赖时发现若依本身已经引入openfeign依赖,并在此基础上自定义了自己的@EnableRyFeignClients注解,此步可省略):

image-20250103195106053

service层代码如下(示例):

    在服务提供者中调用servic层获取数据

//创建服务提供者
@RestController
@RequestMapping("/provider")
public class ProviderController {
	
	@Autowired
	private UserService userService;
 
	@RequestMapping("/getUserById/{id}")
	public User getUserById(@PathVariable Integer id){
		return userService.getUserById(id);
	}
}

2.创建feign接口

代码如下(示例):

    解释都放在了代码中,可以直接复制粘贴

/**
 * @FeignClient 一般采用服务名进行命名
 * url: url一般用于调试,可以手动指定@FeignClient调用的地址
 *
 * @RequestMapping 主要用于feign框架拼接传递url,弥补了Ribbon的url需要手动拼接的缺陷
 * @PathVariable("id") 当路径为restful风格时路径传参方式
 * @RequestParam("id") 当路径为?id=250 时传参方式
 * @RequestBody User user 当路径为对象时采用的传参方式,(集合、数组等都属于对象)
 */
@FeignClient("feign-provider")
@RequestMapping("/provider")
public interface UserFeign {
 
    @RequestMapping("/getUserById/{id}")
    User getUserById(@PathVariable("id") Integer id);
 
    @RequestMapping("/deleteUserById")
    User deleteUserById(@RequestParam("id") Integer id);//?形式拼接参数,?id=250
 
    @RequestMapping("/addUser")
    User addUser(@RequestBody User user);//pojo--->json
}

3.创建服务消费者(consumer)

//服务消费者
@RestController
@RequestMapping("/consumer")
public class ConsumerController {
 
    @Autowired
    private UserFeign userFeign;
 
    @RequestMapping("/getUserById/{id}")
    public User getUserById(@PathVariable Integer id){
        return userFeign.getUserById(id);
    }
}

eger id){
return userFeign.getUserById(id);
}
}
这样,当消费者调用userFeign的getUserById(id)方法时,会向当前项目路径下的/provider/getUserById/{id}发送请求.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CS·GO搬砖流程详细版

说简单点,就是Steam买了然后BUFF上卖,或许大家都知道这点,但就是一些操作和细节问题没那么明白。我相信,你看完这篇文章以后,至少会有新的认知。 好吧,废话少说,直接上实操! 首先准…

每日一题:链表中环的入口结点

文章目录 判断链表环的入口节点描述数据范围:复杂度要求:输入输出 示例代码实现思路解析注意事项: 判断链表环的入口节点 描述 给定一个链表,判断该链表是否存在环。如果存在环,返回环的入口节点;如果不存…

以C++为基础快速了解C#

using System: - using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using 语句, 相当于C的 using namespace std; C# 是大小写敏感的。 所有的语句和表达式必须以分号(;)结尾。 程序的执行从 Main 方法开始。 与 Java 不同的是&#…

保险丝驱动电路·保险丝有什么用应该如何选型详解文章!!!

目录 保险丝基础知识 保险丝常见类型 保险丝功能讲解 保险丝驱动电路 ​​​​​​​ ​​​​​​​ 编写不易,仅供学习,请勿搬运,感谢理解 常见元器件驱动电路文章专栏连接 LM7805系列降压芯片驱动电路降压芯片驱动电…

如何在读博过程中缓解压力

博士生涯充满了挑战和压力,但通过一些实用的方法,我们可以有效地缓解这些压力。以下是我在博士期间采用的一些策略,希望能对正在读博或即将开始博士生涯的你有所帮助。 1. 周末彻底放松 在周末,我尽量避免进行论文写作。这两天…

ue5 替换角色的骨骼网格体和动画蓝图

一开始动画蓝图,骨骼网格体都是用的女性角色 现在把它换成男性 编译 保存 运行 把动画类换成ABP_Manny 进入ABP_Manny中 进入到idle 找到这个拖进来 编译 就变成站着端枪 运行一下,没有问题

西南大学计算机复试该怎么准备?有哪些注意事项?

西南大学计算机专业复试只有面试!只要你表现的自信大方,专业知识问题回答的很好,一般都没问题 一、考试内容 复试的考核内容包含以下几个方面: 1.专业素质和能力(占复试成绩的60%) (1&#x…

【UI自动化测试】selenium八种定位方式

🏡个人主页:謬熙,欢迎各位大佬到访❤️❤️❤️~ 👲个人简介:本人编程小白,正在学习互联网求职知识…… 如果您觉得本文对您有帮助的话,记得点赞👍、收藏⭐️、评论💬&am…

RDD的相关算子

一,算子的分类 整个DRR算子分为两大类: Transformation(转换算子): 返回值:是一个新的DRR 特点:转换算子只是定义数据的处理规则,并不会立刻执行,是lazy(…

简单编程实现QT程序黑色主题显示

代码如下 int main(int argc, char *argv[]) {QApplication a(argc, argv);//QSurfaceFormat::setDefaultFormat(QVTKOpenGLStereoWidget::defaultFormat());QPalette darkpalette;a.setStyle(QStyleFactory::create("Fusion"));darkpalette.setColor(QPalette::Wind…

【Redis】简介|优点|使用场景|为什么Redis快

目录 一、简介 二、特性(优点) 三、使用场景 一、简介 内存中存储数据的中间件,用于数据库,数据缓存,在分布式系统中能够大展拳脚 中间件:应用程序可以直接从 Redis 中获取数据,而不必频繁地…

封装深拷贝方法

前言 在今年的四月份我写了一篇有关深拷贝的博客文章 我与深拷贝_radash 深拷贝-CSDN博客。在该文章中有一个令我感到遗憾的点就是我没有实现一个自己手写的深拷贝。如今我想弥补当初的遗憾,在这篇文章中详细的讲述一下如何手写一个深拷贝方法。 lodash中是如何实…

maven多模块项目编译一直报Failure to find com.xxx.xxx:xxx-xxx-xxx:pom:1.0-SNAPSHOT in问题

工作中项目上因为多版本迭代,需要对不同迭代版本升级版本号,且因为项目工程本身是多模块结构,且依然多个其他模块工程。 在将工程中子模块的pom.xml中版本号使用变量引用父模块中定义的版本号时,一直报Failure to find com.xxx.x…

uniapp 微信小程序 自定义日历组件

效果图 功能&#xff1a;可以记录当天是否有某些任务或者某些记录 具体使用&#xff1a; 子组件代码 <template><view class"Accumulate"><view class"bx"><view class"bxx"><view class"plank"><…

Mysql--基础篇--函数(字符串函数,日期函数,数值函数,聚合函数,自定义函数及与存储过程的区别等)

MySQL提供了丰富的内置函数&#xff0c;涵盖了字符串处理、数值计算、日期和时间操作、聚合统计、控制流等多种功能。这些函数可以帮助你简化SQL查询&#xff0c;提升开发效率。 除了内置函数&#xff0c;MySQL还支持自定义函数&#xff08;User-Defined Functions&#xff09;…

关于Mac中的shell

1 MacOS中的shell 介绍&#xff1a; 在 macOS 系统中&#xff0c;Shell 是命令行与系统交互的工具&#xff0c;用于执行命令、运行脚本和管理系统。macOS 提供了多种 Shell&#xff0c;主要包括 bash 和 zsh。在 macOS Catalina&#xff08;10.15&#xff09;之前&#xff0c…

外卖院长帝恩以专业打法,开启外卖运营新格局

据中国饭店协会数据显示&#xff0c;2023年我国在线餐饮外卖市场规模已达到15254亿元&#xff0c;同比增长36.7%。预计到2027年&#xff0c;我国在线餐饮外卖市场规模有望达到19567亿元&#xff0c;行业渗透率有望达到30.4%。在这一蓬勃发展的行业背后&#xff0c;离不开无数从…

高清绘画素材3600多张动漫线稿线描上色练习参考插画原画

工作之余来欣赏一波线稿&#xff0c;不务正业版... 很多很多的线稿... 百度网盘 请输入提取码

Power BI如何连接Azure Databricks数据源?

故事背景: 近期有朋友询问&#xff0c;自己公司有一些项目使用了Azure Databricks用于数据存储。如何使用Power BI Desktop桌面开发软件连接Azure Databricks的数据源呢&#xff1f; 解决方案: 其实Power BI是提供了连接Azure Databricks数据源的选项的&#xff0c;只是配置…

了解RabbitMQ中的Exchange:深入解析与实践应用

在分布式系统设计中&#xff0c;消息队列&#xff08;Message Queue&#xff09;扮演着至关重要的角色&#xff0c;而RabbitMQ作为开源消息代理软件的佼佼者&#xff0c;以其高性能、高可用性和丰富的功能特性&#xff0c;成为了众多开发者的首选。在RabbitMQ的核心组件中&…