spring cloud feign调用service的两种POST传值方式

open-feign调用接口写法总结 阅读详情
1、 application/json
包引用
compile("org.springframework.cloud:spring-cloud-starter-openfeign")
feign端调用
@FeignClient(name = "dcv-service")
public interface DCVService {
    @PostMapping(value = "/dcvApi/dcvValidate")
    ViewData domainValidation(AuthInfo authInfo);
}
service端
@RequestMapping(value = "/dcvValidate", method = RequestMethod.POST)
@ResponseBody
public ViewData dcvValidate(@RequestBody AuthInfo authInfo) {
    ViewData viewData = dcvService.domainValidation(authInfo);
    return viewData;
}
2、 application/x-www-form-urlencoded
包引用
compile("org.springframework.cloud:spring-cloud-starter-openfeign")
compile group: 'io.github.openfeign.form', name: 'feign-form', version: '3.3.0'
compile group: 'io.github.openfeign.form', name: 'feign-form-spring', version: '3.3.0'

form表单配置

public class CoreFeignConfiguration {
    @Autowired
    private ObjectFactory<HttpMessageConverters> messageConverters;
    // new一个form编码器,实现支持form表单提交
    @Bean
    public Encoder feignFormEncoder() {
        return new SpringFormEncoder(new SpringEncoder(messageConverters));
    }
}
feign调用
@FeignClient(name = "dcv-service", configuration = CoreFeignConfiguration.class)
public interface DCVService {
    @PostMapping(value = "/dcvApi/dcvValidate", consumes = "application/x-www-form-urlencoded")
    ViewData domainValidation(Map<String, ?> authInfo);
}
service端
@RequestMapping(value = "/dcvValidate", method = RequestMethod.POST)
@ResponseBody
public ViewData dcvValidate(AuthInfo authInfo) {
    ViewData viewData = dcvService.domainValidation(authInfo);
    return viewData;
} 

参考:form-url-encode

注1: feign默认的是application/json的方式。

注2: 测试过程中出现 read time out异常,发现默认超时时间是1s,可以配置超时时间如下:

ribbon:
  ReadTimeout: 60000   #default=1000
  ConnectTimeout: 60000  #default=1000
  maxAutoRetries: 0 #调用失败的重试次数
声明式服务调用 Feign Feign是Netflix开发的声明式、模板化的HTTP客户端。当Feign与Eureka和Ribbon组合使用时,Feign就具有了负载均衡的功能。在Feign的实现下,我们只需要定义一个接口并使用注解方式配置,即可完成服务接口的绑定,从而简化了Ribbon自动封装服务调用客户端的开发工作量。如此看来,我们可以把Feign理解为一个远程服务的框架或者工具,它能够帮助开发者用更少的代码,更好的兼容方式对远程服务进行调用。 阅读详情

相关推荐

从一行接口到一次远程调用:Feign声明式代理、Ribbon负载均衡与LoadBalancer演进的源码推演

本文沿一次远程调用的生命周期,剖析Feign声明式客户端与Ribbon负载均衡的原理与演进。启动期梳理注解扫描、工厂Bean与命名子容器,调用期拆解契约解析、方法处理器与八大组件,并用两百行迷你Feign复现骨架;详解注解属性、配置优先级、三层超时与重试放大;深入负载均衡器内部、名单刷新、实例熔断黑名单、区域感知选择与七种策略,用离散事件仿真量化慢实例与宕机场景;最后讲清向LoadBalancer和HTTP Service Clients的迁移路径,并给出连接、超时、重试与均衡四类治理清单。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 168万+

openFeign 调用后 返回 出现 application/json 错误

项目场景:从分页插件式改换为原生分页的时候 通过openFeign调用时发现了问题。

热爱码农的平民博客 812

Workbench下列车转向架随机振动疲劳分析

结果中添加功率谱响应工具(Response PSD Tool),可以查看几何体以及远程点上的功率谱密度,如下图11所示,这里查看几何体上某一硬点的加速度功率谱密度响应曲线,如下图12所示。结果中添加疲劳工具(Fatigue Tool),查看列车转向架的疲劳寿命情况,这里采用窄带的寿命假设理论,曝光时间为1s指明计算出的疲劳寿命的基本单位是秒,寿命结果如下图14所示,可以看到最大寿命为1e35s,最小寿命为2.3542e18s,注意单位制,可再次基础上将其转换为小时或天。频域上的统计计算,软件很快计算完成。

ansysxuexizhe的博客 2602

OpenFeign / SpringBoot 响应使用gzip压缩(含例子)

feign支持对请求与响应进行GZIP压缩,以减少通信中的性能损耗.

Jokers_lin的博客 5193

doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法

摘要:客户Doris数据库报错"ERROR 1203 (42000): Reach limit of connections"的解决过程。发现AI提供的解决方案存在错误:1)查询命令应为SHOW FRONTEND CONFIG而非show variables;2)参数名称应为qe_max_connection而非max_connections。正确解决步骤:1)用admin账户登录查看连接数限制和当前连接数;2)通过SHOW PROPERTY命令检查用户资源限制;3)针对不同情况修改参数

Brent的专栏 1761

麒麟V10服务器多硬盘安装与分区实战:告别自动分区,手动分配/boot、swap和/根目录

本文详细介绍了麒麟V10服务器在多硬盘环境下的手动分区策略,包括/boot、swap和/根目录的优化分配方案。通过SSD与HDD混合存储架构的合理规划,提升系统性能和运维效率,适用于企业级定制化系统部署需求。

weixin_26976635的博客 405

Feign 调用常见问题避坑指南!

来源:https://juejin.cn/post/71324955458846392401.写在前面很多时候,我们在使用微服务框架的时候,就基本上少不了与feign打交道。毕竟服务之间的调用,基本上都不会用http调了,这样显得有点麻烦了,feign更方便了。而且feign,还自带了负载均衡的策略(ribbon提供),如果我们的服务是集群的,feign还能负载调用。这些估计大家都懂吧?不会还有人...

程序猿DD 1255

Qt Design Studio 入门指南:从零开始打造炫酷UI(详细+实用+轻松上手)

本文是Qt Design Studio的详细入门指南,旨在帮助UI设计新手从零开始轻松打造炫酷界面。文章系统介绍了软件的核心概念、安装步骤、主界面解析,并通过创建一个完整的登录界面实例,手把手教学如何拖拽组件、设置属性、添加交互状态与动画。同时,分享了创建自定义组件、管理资源以及提升效率的实用技巧与常见问题解决方案,让读者能够快速上手并应用于实际项目开发。

devops8pract的博客 588

接口调用的两种方式HttpClient以及spring cloud的@Feign方式

首先,需要说一下学习这两个方向的背景,收到任务,师兄要我将四个接口封装一下封装成两个接口,四个接口中,将其中两个上传的接口封装成一个同一的接口,将两个下载接口封装成一个同一接口,最终形成一个上传接口,一个下载接口。我刚刚开始觉得好简单哦,我就是调用嘛,可是,可能是我比较菜的原因,还是花费了很长的时间。emmmm,我要反思。所以接下来有很长的一大段的反思,反正我的博客应该没人看,所以我就写喽,要是不...

sinat_39336328的博客 2314

【精细解读】xapp585(多通道LVDS接口ADC)

xapp585的参考设计有Verilog和VHDL两种源码。

FPGA艺术家的博客 532

使用 MATLAB/Simulink + Simscape Electrical 构建一个他励直流电机的启动与制动过程仿真模型

直流电机在工业控制、电动车辆、自动化设备中广泛应用。其中,他励直流电机(Separately Excited DC Motor)因其励磁绕组与电枢绕组分别供电,具有良好的调速性能和启动特性,常用于需要平稳启动和精确控制的场合。在实际应用中,电机的启动过程和制动过程对电网、机械系统以及电机本身都具有重要影响。因此,仿真分析他励直流电机的启动与制动特性,是电机控制设计的重要环节。本文将详细介绍如何使用构建一个他励直流电机的启动与制动过程仿真模型,并通过仿真分析其动态响应。本文详细介绍了如何使用构建一个。

amy_mhd的博客 231

feign调用service层_SpringCloud使用Feign实现服务调用

Spring Cloud Feign简介Spring Cloud Feign也是一个基础工具类,它整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两者的强大功能以外,它还提供了一种声明式的Web服务客户端定义方式。使用它可以进行服务的消费,但是它的客户端负载平衡仍是通过Ribbon实现的使用Spring Cloud Feign创建一个SpringB...

weixin_28932617的博客 2261

手把手入门YOLO到改进优化教程 | 【P6进阶篇】YOLOv8模型剪枝优化实战-LAMP剪枝

本节首先介绍LAMP剪枝相关理论。然后结合YOLO框架,手把手搭建剪枝工程,包括配置文件修改、剪枝脚本构建等内容。

嵌入式阿齐Archie 2万+

feign调用service_Spring-cloud-eureka使用feign调用服务接口

Spring-cloud-eureka使用feign调用服务接口的具体方法,供大家参考,具体内容如下基于spring-boot 2.0以上版本完成的微服务架构pom.xmlorg.springframework.bootspring-boot-starter-parent2.0.5.RELEASEUTF-8UTF-81.8Finchley.SR11.81.8org.springframework....

weixin_32467749的博客 286

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spring Cloud Feign进行微服务间调用

在Spring Cloud Netfilx栈中,各个微服务都是以Http接口的形式暴露自身服务的,因此在调用远程服务的时候就必须使用Http客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步Http Client、Spring的RestTemplate,但是用起来最方便、优雅的还属Feign。 Feign是一种声明式的Htt...

Deronn的博客 900

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Spring Cloud Alibaba2022版本集成Open Feign

本文介绍了如何集成OpenFeign框架实现微服务通信,主要内容包括: OpenFeign基础概念:声明式HTTP客户端框架,通过接口注解定义请求,支持服务发现、负载均衡等特性。 项目实践步骤: 创建order-service子工程 配置数据库和MyBatisPlus代码生成器 添加OpenFeign和Sentinel依赖 定义Feign客户端接口并实现服务调用 配置熔断降级策略 扩展功能: 集成Sentinel实现熔断保护 配置fallback工厂提供降级服务 演示了服务不可用时的熔断效果。

DayDayUp的博客 293

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Feign-Get请求自动转成Post问题分析

文章目录1 现象2 解决3 解决 1 现象 Feign使用中有一个小小的细节之处,在明明我们使用Get配置的时候,我们会发现Feign会将Get请求转成Post调用。 直接上示例: 接口提供者: @GetMapping(value = "/provider") public String test(@RequestParam(value = "name", defaultValue = "zcswl7961") String name) { List<String&g

zcswl7961的博客 1万+

spring cloud feign调用

maven引入 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> 启动类加 @EnableFeignCl...

weixin_41522735的博客 128

Feign 简介与使用入门,请求、响应压缩,日志记录

目录 Feign 声明式web服务客户端 feign 声明式web客户端使用 eurekaserver_changsha(注册中心) eureka-client-food(服务提供者) feign-client-cat(服务消费者) 浏览器访问微服务调用测试 Feign 请求与响应压缩 与 日志 Feign 声明式web服务客户端 spring-cloud-openfeign ...

蚩尤后裔-汪茂雄 6499

Spring Cloud 服务间调用 @FeignClient 注解

springCloud搭建各种微服务之后,服务间通常存在相互调用的需求,springCloud提供了@FeignClient 注解非常优雅的解决了这个问题首先,保证几个服务在一个Eureka中形成服务场。如下,我一共有三个服务注册在服务场中。COMPUTE-SERVICE ; FEIGN-CONSUMER ; TEST-DEMO;现在,我在FEIGN-CONSUMER 服务中调用其他两个服务的两个...

苏笙 1万+

Spring Cloud Feign的继承特性

一 点睛 Spring Cloud Feign提供了继承特性,可以进一步减少编码量。 二 编写hello-service-api 1 创建一个基础的Maven工程,命名为hello-service-api 2 编写pom.xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;project xmlns="http://maven.ap...

实践求真知 2949

feign调用 服务内无token_Spring Cloud 声明式服务调用 Feign

一、简介 在上一篇中,我们介绍注册中心Eureka,但是没有服务注册和服务调用,服务注册和服务调用本来应该在上一章就应该给出例子的,但是我觉得还是和Feign一起讲比较好,因为在实际项目中,都是使用声明式调用服务。而不会在客服端和服务端存储2份相同的model和api定义。Feign在RestTemplate的基础上对其封装,由它来帮助我们定义和实现依赖服务接口的定义。Spring Cloud F...

weixin_42133899的博客 342

SpringCloud——Feign实例及原理

一、实例 1、配置feign 添加依赖 在maven的pom中添加feign &amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;gt;org.springframework.cloud&amp;amp;amp;amp;lt;/groupId&amp;amp;amp;amp;gt;

技术交流 3万+

feign踩坑_详解spring cloud feign踩坑记录

1:多客户端时,feign接口抽取到公共jar中,此时,客户端的启动类上需要对该jar中feign所在的包进行扫描,要在spring和feign中同时注册,否则启动时会报:“Consider defining a bean of type '******Feign' in your configuration.”@SpringBootApplication@EnableTransactionMan...

weixin_35749796的博客 630
上一篇: spring cloud config server使用ssh方式连接config-repo
rage_angel
博客等级 码龄12年 7粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值