SpringCloud - Feign调用返回对象不为null,但属性全为null

简介: SpringCloud - Feign调用返回对象不为null,但属性全为null

Feign是SpringCloud中的一个模块,作用是将本来需要发送请求的工作简化成为调用方法就可以完成的简单工作。

最近在使用Feign的时候,经常出现两种情况

  1. 请求返回一个对象,请求成功了,没有熔断,也返回数据了,而且对象不为null,但是对象所有的属性都是null,这样直接通过了我们的验空判断,从而造成报错。
  2. 返回一个对象List时,报错如下:databind.exc.MismatchedInputException: Cannot deserialize instance of '' out of START_OBJECT token 类似这样的。

解决方法

这些错误表面上看好像是返回的数据出了问题。实际上这些错误只能证明,通过Feign调用其它服务时,被调用的服务出了错误,比如SQL错误等。

所以只要把关注点从调用方移到被调用方,在被调用服务中debug找到错误就可以了。

目录
相关文章
|
6月前
@Autowired注解获取对象为null
@Autowired注解获取对象为null
56 0
|
28天前
|
JSON Java 数据格式
【微服务】SpringCloud之Feign远程调用
本文介绍了使用Feign作为HTTP客户端替代RestTemplate进行远程调用的优势及具体使用方法。Feign通过声明式接口简化了HTTP请求的发送,提高了代码的可读性和维护性。文章详细描述了Feign的搭建步骤,包括引入依赖、添加注解、编写FeignClient接口和调用代码,并提供了自定义配置的示例,如修改日志级别等。
75 1
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
6月前
|
应用服务中间件 nginx 微服务
SpringCloud解决feign调用token丢失问题
【5月更文挑战第2天】在feign调用中可能会遇到如下问题: * 同步调用中,token丢失,这种可以通过创建一个拦截器,将token做透传来解决 * 异步调用中,token丢失,这种就无法直接透传了,因为子线程并没有**token**,这种需要先将token从父线程传递到子线程,再进行透传
430 3
|
2月前
|
前端开发 API 微服务
SpringCloud微服务之间使用Feign调用不通情况举例
SpringCloud微服务之间使用Feign调用不通情况举例
497 2
|
2月前
|
Java API 开发者
【已解决】Spring Cloud Feign 上传文件,提示:the request was rejected because no multipart boundary was found的问题
【已解决】Spring Cloud Feign 上传文件,提示:the request was rejected because no multipart boundary was found的问题
399 0
|
3月前
|
NoSQL Java Redis
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
|
5月前
|
XML JSON Java
经验大分享:SpringCloud之Feign
经验大分享:SpringCloud之Feign
64 0
SpringCloud Feign报错Method has too many Body parameters
SpringCloud Feign报错Method has too many Body parameters