springboot微服务使用Feign远程调用失败
记录一次springboot微服务使用Feign远程调用失败
Spring Boot 使用Feign 远程调用失败
1. 源码
最近在学习Spring Boot,在微服务的调用时使用到了 Feign,话不多说直接上代码
@FeignClient(value = FeServiceList.FE_SERVICE_MANAGE_CMS)
public interface CmsPageClient {@PostMapping("/cms/page/save")CmsPageResult save(@RequestBody CmsPage cmsPage);
}
使用 @FeignClient 注解,配置需要调用的微服务名称,编写接口方法。 项目结构是前后端分离的,统一返回 json。
这是接口返回值对象
@Data
public class CmsPageResult extends ResponseResult {CmsPage cmsPage;public CmsPageResult(ResultCode resultCode, CmsPage cmsPage) {super(resultCode);this.cmsPage = cmsPage;}
}
2. 遇到的问题
org.springframework.http.converter.HttpMessageNotReadableException:
JSON parse error: Cannot construct instance of `com.fe.manage_course.client.CmsPageResult`,
problem: `java.lang.NullPointerException`; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException:
Cannot construct instance of `com.fe.manage_course.client.CmsPageResult`
大概意思Json解析出错,不能为CmsPageResult构造一个实例。
3. 解决方法
因为CmsPageResult没有显示的空参构造,只有有参构造,所以spring不会提供默认的空参构造。
项目中使用的Lombok,所以只需要在类上添加 @NoArgsConstructor
@Data
@NoArgsConstructor
public class CmsPageResult extends ResponseResult {CmsPage cmsPage;public CmsPageResult(ResultCode resultCode, CmsPage cmsPage) {super(resultCode);this.cmsPage = cmsPage;}
}
没有使用Lombok,手动加上空参构造即可。
也算是小小的 Feign坑 吧!!!
springboot微服务使用Feign远程调用失败相关推荐
- 微服务之Feign远程调用
微服务之Feign远程调用 1.微服务之间一般都是业务分离,会创建一个独立的模块来存放接口,方便以后调用,以及防止代码的冗余和降低耦合性 2.导入feign的依赖 <dependency> ...
- 微服务8 Feign远程调用
目录 1.问题 2.使用 2.1导入依赖 2.2添加注解 2.3编写Feign客户端 2.4修改OrderService 2.3访问 java.lang.AbstractMethodError: Re ...
- 微服务采用何种远程调用方式?
无论是微服务还是SOA,都面临着服务间的远程调用.那么服务间的远程调用方式有哪些呢? 常见的远程调用方式有以下几种: RPC:Remote Produce Call远程过程调用,类似的还有RMI.自定 ...
- 设置失败重新发起_微服务架构下请求调用失败了怎么办!
微服务架构相比单体架构,服务的调用从同一台机器内部的本地调用变成了不同机器之间的远程方法调用,但是这个过程也引入了两个不确定的因素: - 调用的执行是在服务提供者一端,即使服务消费者本身是正常的,服务 ...
- 【学习日记2023.6.9】之 SpringCloud入门(认识微服务_服务拆分和远程调用RestTemplate_Eureka注册中心_Ribbon负载均衡_Nacos注册中心)
文章目录 SpringCloud 1. 认识微服务 1.1 单体架构 1.2 分布式架构 1.3 微服务 1.4 SpringCloud 1.5 总结 2. 服务拆分和远程调用 2.1 服务拆分原则 ...
- day02 Nacos集群配置、Feign远程调用和统一网关Gateway
1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用. 统一配置管理 当微服务部署的实例越来越多,达到数十.数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错.我们需要一 ...
- Feign远程调用组件与Gateway网关组件
文章目录 1. Feign远程调用组件 1.1 Feign简介 1.2 Feign配置应用 1.3 Feign对负载均衡的支持 1.4 Feign对熔断器的支持 1.5 Feign对请求压缩和响应压缩 ...
- 使用Zipkin和Sleuth进行SpringBoot微服务跟踪
在本文中,我们将了解使用Zipkin和Spring cloud sleuth框架的微服务分布式跟踪. 尽管微服务具有自身的挑战,但微服务是出色的架构. 复杂的微服务架构具有与其他微服务的下游和上游依存 ...
- Springboot+MySQL+VUE实现的在线教育网站源码+视频教程(Springboot微服务架构)
下载地址:https://download.csdn.net/download/BSDKT/85347133?spm=1001.2014.3001.5503 项目介绍: Springboot+MySQ ...
- SpringCloud使用Nacos服务发现实现远程调用
本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...
最新文章
- [problem]快速排序和归并排序
- tcp/ip 建立过程
- kali linux升级火狐,Kali安装最新firefox卸载旧的firefox
- 记一次使用 removeEventListener 移除事件监听失败的经历
- CYQ.Data 轻量数据层之路 自定义MDataTable绑定续章(七)
- 前端httpd+keepalived加后端heartbeat+nfs+drbd实现httpd服务的高效应用及资源统一管理...
- Java中遭遇NaN
- (11)VHDL例化system Verilog
- 介绍两款实用软件:CCPROXY和SOCKSCAP
- PSP ISO游戏运行必备工具:ISO TOOL 1.970 功能一览图文教程
- 为开发者们准备的10款超棒的jQuery视频插件
- 几点思考-人生哲学,生活方式---ShinePans
- matlab max/min/median函数用法以及自定义函数求最大最小值和中位数
- 法国在华企业名单,坚决抵制!
- 为什么要使用PPTP协议代理ip?
- java倒计时器_Java并发系列5--倒计时器CountDownLatch
- 金山词霸使用牛津词典取词的笨方法
- java集成easyExcel动态生成表头并在浏览器下载excel
- 纵横20年,我所经历的数据开放演化史 by 傅一平
- Capto2022中文版一款适用Mac屏幕录制编辑软件