feignClient调用时获取返回对象类型匹配问题

feignClient是springCloud体系中重要的一个组件,用于微服务之间的相互调用,底层为httpClient,在之前的应用中,我一直以为A服务提供的方法返回类型为对象的话,那么调用A服务的B服务必须也用字段类型以及命名完全相同的对象来接收,为此我验证了一下,发现不是必须用完全相同的对象来接收,比如,可以用map<String,Object>或者Object来接收,然后解析。当然,复杂对象我还是推荐用一个完全相同的对象来接收。

下面是我的例子:

项目一:首先创建一个服务注册中心eureka


配置文件


项目二:紧接着创建一个服务提供方eureka-client,方法helloWorld返回值为map


注册到eureka中


项目三:创建服务调用方service-feign



注意:map的key与Hello类字段属性对应

注册到eureka


最后:启动三个项目


发现项目二 项目三已经被注册到服务中心

调用项目三的接口


可以正常返回,由于项目二返回类型是map.而项目三是用对象Hello来接收的,那么就说明了服务提供方的返回值类型和调用方接收值类型并不是需要完全对应的

猜你喜欢

转载自blog.csdn.net/Huangcsdnjava/article/details/80642672
今日推荐