java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > OpenFeign远程调用返回的对象总是null

解决OpenFeign远程调用返回的对象总是null问题

作者:阿小冰

OpenFeign在SpringCloud中用于远程调用,配置简单,在使用Ribbon或Hystrix时,需要注意path参数必须以/开头,否则回参会是null

OpenFeign远程调用返回的对象总是null

OpenFeign在SpringCloud体系中并不少见

远程调用组件嘛,配置也相当简单,添加OpenFeign的依赖

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

在启动类加上开启Feign的注解

以上处理完之后

相当于前置条件都已经具备了, 但是有些同学用到了Ribbon或者Hystrix,对应的配置文件该怎么配置这里就不做过多的赘述了,接下来我们看一下远程调用接口类怎么写的

为了保密,value和path的值我置空了,这两个置空的值其实都是读取配置文件,做成了动态配置,但是看似没问题吧,但是我同事再远程调用的时候,接收的回参总是null,然后排查了小一会,发现了一个十分可笑的事情

就是这个path参数,一定要以“/”开头,虽然在请求的时候,OpenFeign会封装成请求类,会自动给你拼接上“/”,但是如果你的path不以“/”开头,远程调用的回参一直都会是null

问题不是大问题,主要是我写的时候有自己的规范,没有省略这个“/”,平常开发也没注意,也是巧了!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文