Feign调用服务提供者

Feign是一种声明式的服务调用客户端,它可以让程序员以声明的方式调用远程服务。Feign通过创建接口并用注解来配置它来帮助程序员定义客户端接口。Feign使用Ribbon实现客户端负载均衡,可以自动处理和调整请求的路由,并且可以支持多种服务发现系统,如Eureka、Consul等。

客户端无法获取到结果的原因

调用服务提供者返回IPage的时候,客户端无法获取到结果,这主要是因为Feign默认使用的是JDK的序列化机制,而IPage是使用的fastjson序列化机制,因此它们之间的序列化机制不兼容,导致客户端无法获取到结果。

解决方案

要解决这个问题,首先需要在Feign客户端的配置文件中配置fastjson序列化器,具体配置如下:

然后在Feign客户端的接口中使用@FeignClient注解,添加configuration属性,指定使用FeignConfig配置,具体配置如下:

这样,Feign客户端就可以正确地解析服务提供者返回的IPage结果,从而获取到正确的结果。