SpringBoot如何使用Feign实现远程接口调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot如何使用Feign实现远程接口调用相关的知识,希望对你有一定的参考价值。

参考技术A

什么是Feign?与 Ribbon ⼀样,Feign 也是由 Netflflix 提供的,Feign 是⼀个声明式、模版化的 Web Service 客户端,它简化了开发者编写 Web 服务客户端的操作,开发者可以通过简单的接⼝和注解来调⽤ HTTP API, Spring Cloud Feign,它整合了 Ribbon 和 Hystrix,具有可插拔、基于注解、负载均衡、服务熔断等⼀系列便捷功能。

(1)Feign 是⼀个声明式的 Web Service 客户端;

(2)⽀持 Feign 注解、Spring MVC 注解、JAX-RS 注解;

(3)Feign 基于 Ribbon 实现,使⽤起来更加简单;

(4)Feign 集成了 Hystrix,具备服务熔断降级的功能。

pom.xml

application.yaml

User

UserController

启动类

浏览器访问 : http://localhost:8081/api/server/getUserInfo

pom.xml

application.yaml

UserFeignClient

TestController

启动类

浏览器访问: http://localhost:8082/api/client/get

这样就实现了通过feign client来调用远程(第三方)接口了。

本地调用Feign远程接口

参考技术A 本地调试Feign远程接口时, 依赖注册中心, Spring上下文环境, 在项目比较庞大的时候, 调试缓慢不利于问题排查; 下面的案例用最简单的配置来实现Feign的远程调用

构造Feign的配置可以按需加入编码解码器, 拦截器等, 通过动态代理的方式进行接口的调用, 具体参考Target实现类 HardCodedTarget

以上是关于SpringBoot如何使用Feign实现远程接口调用的主要内容,如果未能解决你的问题,请参考以下文章

Feign远程调用原理

本地调用Feign远程接口

springboot~feign模拟multipart/form-data

Feign

企业分布式微服务云SpringCloud SpringBoot mybatis 服务消费者(Feign)

Feign远程调用