当前位置: 首页 > news >正文

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

1、引入依赖

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

2、启动类加上注解

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

3、新增接口暴露的接口

@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进行注入,调用

@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)类型中包含该指定类型才返回;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Docker Container 常用命令
  • 新型PyPI攻击技术可能导致超2.2万软件包被劫持
  • 服务器/linux上登录huggingface网站
  • [UVM]5.config机制 report 消息管理
  • docker装大米cms(damicms)各种cms可用相同办法
  • 开源 AI 智能名片小程序在内容营销中的应用与价值
  • JVM系列(七) -对象的内存分配流程
  • Grafana 在 Linux 系统上安装
  • 打造温馨家居,全屋智能家居解决方案
  • 【大模型实战篇】大模型周边NLP技术回顾及预训练模型数据预处理过程解析(预告)
  • 数据分析:R语言计算XGBoost线性回归模型的SHAP值
  • Latex使用方式
  • 面向GPU计算平台的归约算法的性能优化研究
  • vue3+ts封装类似于微信消息的组件
  • @Transactional 参数详解
  • 【个人向】《HTTP图解》阅后小结
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • extjs4学习之配置
  • JavaScript-Array类型
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Phpstorm怎样批量删除空行?
  • Python 基础起步 (十) 什么叫函数?
  • underscore源码剖析之整体架构
  • Wamp集成环境 添加PHP的新版本
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 每天10道Java面试题,跟我走,offer有!
  • 每天一个设计模式之命令模式
  • 容器服务kubernetes弹性伸缩高级用法
  • 深入 Nginx 之配置篇
  • 算法---两个栈实现一个队列
  • 携程小程序初体验
  • 学习ES6 变量的解构赋值
  • 通过调用文摘列表API获取文摘
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • #stm32整理(一)flash读写
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (Qt) 默认QtWidget应用包含什么?
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .Net多线程总结
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .net快速开发框架源码分享
  • .NET企业级应用架构设计系列之结尾篇
  • @AliasFor 使用
  • @Mapper作用
  • @RequestBody与@ResponseBody的使用
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [Angular 基础] - 自定义指令,深入学习 directive