使用Fign进行客户端远程调用和SpringFormEncoder的使用

news/2024/9/17 7:57:47/ 标签: java, spring, spring boot

1、引入依赖

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

2、启动类加上注解

java">@EnableFeignClients
@SpringBootApplication
public class FeignTestApplication {public static void main(String[] args) {SpringApplication.run(FeignTestApplication .class, args);}}

3、新增接口暴露的接口

java">@FeignClient(value = "feign2",path="/feignService",configuration=MultipartSupportConfig.class)
public interface FeignTestService {@PostMapping(value = "/getUser", consumes = APPILICATION_JSON_UTF8_VALUE)List<UserInfor> getUserList(@Requesbody  UserInvo inVo);//用于修改spring默认的encoder配置@Configurationclass MultipartSupportConfig{@Beanpublic SpringFormEncoder feignFormEncoder(ObjectFactory<HttpMessageConverts> convert ){return new SpringFormEncoder(convert );}
}

先配置生成了SpringFormEncoder的bean对象,然后在@FeignClient注解中配置configuration值来修改默认Encoder。
这里使用的并不是spring标准的encoder配置, 

4、使用@AutoWired进行注入,调用

java">@AutoWired
private FeignTestService feignTestService;@PostMapping("/getUsers")
@ApiOperation("查询用户列表")
public List<UserInfor> getUserList(UserInVo inVo){return feignTestService.getUserList(inVo);
}

5.RequestMapping 中produces 和 consumes

consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;


http://www.ppmy.cn/news/1521883.html

相关文章

Ansible 自动化运维项目

在现代 IT 运维中&#xff0c;自动化正在成为提升效率和可靠性的关键工具。Ansible 作为一种流行的自动化工具&#xff0c;因其简单易用和强大的功能&#xff0c;被广泛应用于配置管理、部署、持续集成等领域。本文将通过一个实际的 Ansible 项目案例&#xff0c;来介绍如何使用…

Flask中实现上下文管理

在Flask中&#xff0c;上下文管理是通过Flask框架内部机制自动管理的&#xff0c;但你也可以通过Flask提供的API来显式地操作上下文。Flask使用_request_ctx_stack和_app_ctx_stack这两个本地栈&#xff08;local stacks&#xff09;来分别管理请求上下文和应用上下文的入栈&am…

P1166 打保龄球

共可以投 1 局 一局10轮 在一局中&#xff0c;一共有十个柱&#xff0c;会出现很多种情况。 第1次把10个 打倒全部 >> 分数10后2次得分 --若是第10轮则还需另加两次滚球&#xff1b; 没全部打倒 >> 第2次把剩下的 打倒 >&g…

MFC生成dll的区别

主要分三种&#xff1a; A. 动态链接库(dll) B.具有导出项的(dll)动态链接库 C.MFC动态链接库 对比项目&#xff1a;可以根据需要选择哪种dll方便 添加自定义导出功能Demo 1. 添加导出实现接口&#xff1a; A. 导出需要具有&#xff1a;__declspec(dllexport) B. 按照C语言…

Unity6 + UE5.4 PSO缓存实践记录

题图&#xff08;取自COD冷战的着色器编译提示&#xff09; PSO&#xff08;管线状态对象 Pipeline State Object&#xff09;是伴随现代图形API&#xff08;DirectX12、Vulkan、Metal&#xff09;而出现的概念&#xff0c;它本质上是单次绘制时渲染管线所处的状态信息的集合&…

Java实用类——操作日期和时间

Date类&#xff1a; Date 位于java.util.Date类&#xff1a;表示日期和时间SimpleDateFormat 位于java.text.SimpleDateFormat类&#xff1a;格式化日期类parse方法&#xff1a;将字符串转为日期类型 public static void main(String[] args) throws ParseException {//获得当…

Unity Adressables 使用说明(五)在运行时使用 Addressables(Use Addressables at Runtime)

一旦你将 Addressable assets 组织到 groups 并构建到 AssetBundles 中&#xff0c;就需要在运行时加载、实例化和释放它们。 Addressables 使用引用计数系统来确保 assets 只在需要时保留在内存中。 Addressables 初始化 Addressables 系统在运行时第一次加载 Addressable …

oracle事务隔离级别

文章目录 数据库事务概况1.事务相关概念2.事务的四个特性ACID : oracle事务隔离级别1 .两个事务并发访问数据库数据时可能存在的问题 数据库事务概况 一组SQL,一个逻辑工作单位&#xff0c;执行时整体修改或者整体回退。 1.事务相关概念 1&#xff09;事务的提交和回滚&…

MongoDB-聚合查询操作介绍

目录 前言db.collection.aggregate()db.collection.aggregate()示例一db.collection.aggregate()示例二 复杂的聚合操作通过mongoimport导入测试数据复杂的聚合操作示例聚合操作的偏好设置-project函数聚合操作的偏好设置-unwind函数 前言 MongoDB聚合操作相当于关系型数据库S…

MATLAB基础应用精讲-【数模应用】Poisson检验(附MATLAB、python和R语言代码实现)

目录 几个高频面试题目 泊松分布的现实意义是什么,为什么现实生活多数服从于泊松分布? 算法原理 数学模型 参数估计与假设检验 (一) 参数估计 (二) 回归系数的假设检验 (三) 拟合优度检验 适用条件 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 …

区块链技术介绍

一.概述 1.什么是区块链&#xff1f; 区块链是一种分布式数据库技术&#xff0c;它以链式数据结构的形式存储数据&#xff0c;每个数据块与前一个数据块相关联&#xff0c;形成了一个不断增长的数据链。每个数据块中包含了一定数量的交易信息或其他数据&#xff0c;这些数据经…

Python可视化集大成之作 - Seaborn 介绍

我今天要介绍一款让你在数据可视化中游刃有余的利器——Seaborn包。作为Python数据可视化库中的一员&#xff0c;Seaborn不仅美观易用&#xff0c;而且功能丰富&#xff0c;是生物信息学中数据探索的好帮手。 为什么选择Seaborn&#xff1f; 1. 美观简洁 Seaborn的默认主题和颜…

遍历有向网格链路实现

在实际的业务中&#xff0c;我们可能遇到复杂规则&#xff08;多个或与条件组合&#xff09;&#xff0c;复杂链路等类似场景问题&#xff0c;如&#xff1a;规则引擎相关业务&#xff0c;生产任务排期等。 复杂链路示意图如下&#xff1a; 复杂网路链路场景描述 有一个或多…

单片机学习笔记

一、单片机帝国的诞生与发展 1.1 单片机的基本概念 单片机是一种集成电路芯片&#xff0c;采用超大规模的集成电路把具有数据处理功能的中央处理器存储器、输入输出端口、外围电路和相关外设集成在一块硅片上构成一个小而完整的微型计算机系统。 一般而言&#xff0c;单片机也…

光电振荡器行业研究:未来几年年复合增长率CAGR为16.0%

光电振荡器(OEO)是一种微波光子系统&#xff0c;它使用高品质因数的光能量存储元件产生具有超低相位噪声的微波信号。光电振荡器基于将来自泵浦激光器的连续光能转换为射频(RF)、微波或毫米波信号。OEO 的特点是具有非常高的品质因数(Q) 和稳定性&#xff0c;以及电子振荡器不容…

K8s中如何使用etcd进行集群信息的备份与恢复

这里写目录标题 ETCD是什么?1. **`etcd`(服务)**2. **`etcdctl`(客户端工具)**如何安装etcdctl(客户端工具)查看目前K8s自带etcd中的版本信息安装对应版本的etcdutl工具下载 `etcdutl` 3.5.7 版本配置环境变量创建备份文件验证一下备份的快照文件备份文件恢复的效果演示…

从零开始学数据结构系列之第五章《B树的删除2》

文章目录 样例3情况3案例1案例2 总结往期回顾 样例3 原图&#xff0c;本例要删除50这个关键字&#xff0c;那这要怎么做呢&#xff1f; 思考ing 思考ing 思考ing 思考ing 思考ing 可以看到&#xff0c;最左边的子树是没有变化的&#xff0c;所以直接就不变&#xff0c;最…

语音测试(一)ffmpeg视频转音频

视频转音频 下载ffmpeg工具进入bin目录cmd进入控制台输入命令 ffmpeg.exe -i ./视频.mp4 ./音频.wav命令说明 ffmpeg -i input.mp4 output.mkv FFmpeg 可能会尝试自动选择合适的编码器对视频和音频进行重新编码&#xff0c;以便适应 MKV 格式的要求ffmpeg -i input.mp4 -c c…

Node.js 高级主题深度解析:性能优化、测试与日志管理

Node.js 高级主题深度解析&#xff1a;性能优化、测试与日志管理 目录 &#x1f680; 性能优化 &#x1f6e0;️ 使用 cluster 模块实现多进程&#x1f9e0; 内存泄漏分析与优化&#x1f4ca; 性能分析工具的使用 &#x1f9ea; 测试 &#x1f4d1; 单元测试和集成测试&#x…

使用Unity的准备

下载Unity 下载Unity Hub Unity - 实时内容开发平台 | 3D、2D、VR & AR可视化https://unity.cn/ 创建账号或者登入账号 Unity安装 路径尽量为英文路径 登入账号 点击头像登入账号 这里已经登入 打开偏好 设置中文 添加许可证 获取免费版的即可 安装编辑器 新建项目…