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

server/2024/9/20 7:27:40/ 标签: 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/server/113244.html

相关文章

[羊城杯 2021]Ez_android-快坚持不下去的第五天

找到mainactivity函数 1. 用户名和密码的检查 2. 密码的加密然后 - 1 的操作 for (int i 0; i < bArr.length; i) {bArr[i] (byte) (bArr[i] - 1); } 这段代码通过遍历字节数组中的每个元素&#xff0c;将每个元素的值减去 1&#xff0c;并更新数组。这里的 byte 强制转…

单细胞降维聚类分群注释全流程学习(seruat5/harmony)

先前置几个推文~ 单细胞天地&#xff1a; https://mp.weixin.qq.com/s/drmfwJgbFsFCtoaMsMGaUA https://mp.weixin.qq.com/s/3uWO8AP-16ynpRQEnEezSw 生信技能树&#xff1a; https://mp.weixin.qq.com/s/Cp7EIXa72nxF3FHXvtweeg https://mp.weixin.qq.com/s/C-CXAQa2nTe…

FPGA随记---inout端口的处理

inout双向端口的要求 inout端口默认为wire型&#xff0c;这意味着我们不能在always中对其进行赋值&#xff0c;而需要使用assign进行赋值每一个inout端口都需要一个reg型的buffer来做缓冲器。 考虑这种情况&#xff1a; 当控制信号为真时&#xff0c;三态门开启&#xff0c;此…

PHP智能匹配轻松预订自习室在线订座系统小程序源码

智能匹配&#xff0c;轻松预订——自习室在线订座系统 &#x1f4da;【开篇&#xff1a;告别排队&#xff0c;迎接智能学习新时代】&#x1f4da; 还在为找不到合适的自习室座位而烦恼吗&#xff1f;是不是每次去图书馆或自习室都要提前好久去排队占位&#xff1f;现在&#…

【机器学习】朴素贝叶斯网络的基本概念以及朴素贝叶斯网络在python中的实例

引言 文章目录 引言一、朴素贝叶斯网络1.1 基本概念1.1.1 节点1.1.2 边&#xff08;Edges&#xff09;1.1.3 条件独立性 1.2 特点1.2.1 结构简单1.2.2 易于理解和实现1.2.3 计算效率高 1.3 应用1.4 数学表示1.5 局限性 二、朴素贝叶斯网络在python中的实例2.1 实例背景2.2 实现…

SpringBoot常用注解

&#xff08;1&#xff09;组件相关注解 Controller&#xff1a;控制层&#xff0c;被组件扫描并生成实例化对象 Service&#xff1a;业务层&#xff0c;被组件扫描并生成实例化对象 Repository&#xff1a;数据层&#xff0c;被组件扫描并生成实例化对象 Component&#x…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 09部署OSPF

本章的目的是帮助网络工程师确定网络的理想 OSPF 配置。本章将回答以下问题 应何时在数据中使用OSPF ?配置 OSPF 的关键设计原则是什么?OSPFv2 和 OSPFv3 之间有什么区别&#xff0c;应如何使用?如何在路由协议栈中配置 OSPF ?如何在服务器上配置 OSPF&#xff0c;例如为容…

Java 使用 Redis

Java 使用 Redis 1. 引言 Redis 是一个开源的高性能键值对数据库。它支持多种类型的数据结构&#xff0c;如字符串、列表、集合、散列表等&#xff0c;适用于多种场景&#xff0c;如缓存、消息队列等。Java 是一种广泛使用的编程语言&#xff0c;因此在 Java 应用程序中使用 …

arm调试-- gdb与gdbserver的安装与使用

一、安装 1.下载gdb源码 https://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz 2. 解压编译gdb以及gdbserver (1)gdb PC端 tar -zxvf gdb-7.11.1.tar.gz cd gdb-7.11.1 mkdir _install ./configure --targetaarch64-linux-gnu --disable-werror --prefix/home/jinhao/gdb-7.1…

Android Studio打开Modem模块出现:The project ‘***‘ is not a Gradle-based project

花了挺长时间处理该问题&#xff0c;特记录如下&#xff1a;1.背景&#xff1a; 在Android studio 下导入一个新增的modem模块&#xff0c;如MPSS.DE.3.1.1\modem_proc\AAA, 目的是看代码方便一些&#xff0c;可以自由搜索各种关键字。但导入该项目时出现了如下错误&#xff1a…

Datawhale X 李宏毅苹果书 AI夏令营 入门 Task3-机器学习框架

目录 实践方法论1.模型偏差2.优化问题3.过拟合4.交叉验证5.不匹配 实践方法论 1.模型偏差 当一个模型由于其结构的限制&#xff0c;无法捕捉数据中的真实关系时&#xff0c;即使找到了最优的参数&#xff0c;模型的损失依然较高。可以通过增加输入特征、使用更复杂的模型结构…

828华为云征文|华为云服务器Flexus X搭建悟空crm管理系统——助力企业云上管理(解决APP Referer校验失败问题)

1、为什么我们企业会选择Flexus云服务器X实例来部署自己的CRM管理系统&#xff1f; 因为基于华为云Flexus X实例搭建CRM管理平台&#xff0c;可以从容面对企业内部瞬息万变的业务压力变化 2、华为云服务器Flexus X方案及优势&#xff1a; 灵活伸缩 搭配弹性伸缩服务AS及负载均…

简单的spring batch学习

前言 公司批量任务是数据库执行的&#xff0c;想修改成java执行批量任务&#xff0c;所以简单了解了下springbatch批量任务框架&#xff0c;此处是其学习笔记&#xff0c;具体学习视频地址为bilibili springbatch&#xff0c;以下为其学习笔记内容以及源码信息 一、课程目标 …

以低代码技术加速推动企业数字创新

在数字化转型的浪潮中&#xff0c;企业面临着前所未有的挑战和机遇。随着技术的不断进步&#xff0c;企业需要快速适应市场变化&#xff0c;创新产品和服务&#xff0c;以保持竞争力。低代码技术作为一种新兴的开发模式&#xff0c;正逐渐成为企业数字创新的重要推动力。 低代码…

关于Qt在子线程中使用通讯时发生无法接收数据的情况

在多线程应用中&#xff0c;串口通讯或TCP通讯的场景常常涉及到持续的读写操作&#xff0c;如果子线程处理不当&#xff0c;可能会导致信号阻塞问题。本文将通过串口通讯或TCP通讯为例&#xff0c;详细解释如何在多线程环境中避免信号阻塞&#xff0c;并提供代码示例。 1. 问题…

MyBatis入门 – 动态SQL

MyBatis入门 – 动态SQL 1.动态SQL介绍 1.1 什么是动态SQL 在原先的JDBC中&#xff0c;开发者需要根据业务的不同要求手动拼接SQL语句&#xff0c;不仅增加开发的复杂度&#xff0c;同时也降低开发效率。而动态SQL则能够根据不同业务场景动态构建查询。动态SQL一般是根据用户…

MySQL 中的 `LOWER()` 和 `UPPER()` 函数:大小写转换

在数据库管理和查询中&#xff0c;处理文本数据时常常需要忽略大小写差异&#xff0c;以确保数据的准确性和查询的一致性。MySQL 提供了两个非常实用的字符串函数——LOWER() 和 UPPER()&#xff0c;它们分别用于将字符串转换为小写和大写格式。这两个函数在数据清洗、查询优化…

备战秋招60天算法挑战,Day33

题目链接&#xff1a; https://leetcode.cn/problems/longest-increasing-subsequence/ 视频题解&#xff1a; https://www.bilibili.com/video/BV1RRvheFEog/ LeetCode 300. 最长递增子序列 题目描述 给你一个整数数组nums &#xff0c;找到其中最长严格递增子序列的长度。 …

高效实用的网站ICP备案查询接口

随着互联网的日益发展&#xff0c;对于网站的监管变得越来越重要。为了更好地管理和监督互联网上的网站&#xff0c;官方要求所有在中国境内的网站都需要进行ICP备案。因此&#xff0c;ICP备案不仅是法律要求&#xff0c;也是衡量一个网站是否正规的重要标志之一。为了便于开发…

韩国裸机云站群服务器的特点和使用步骤

随着云计算技术的不断发展&#xff0c;裸机云(Bare Metal Cloud)作为一种结合了物理服务器强大性能与云服务灵活性的解决方案&#xff0c;正受到越来越多企业和开发者的青睐。韩国裸机云站群服务器因其独特的地理位置优势、网络连接质量以及数据中心设施完善等因素&#xff0c;…