OpenFeign 简介
Jihongchang(讨论 | 贡献)2023年3月21日 (二) 09:00的版本
https://www.bilibili.com/video/BV1My4y1W7vy/
什么是 OpenFeign
OpenFeign 目前是 Spring Cloud 二级子项目。平时说的 Feign 指的是 Netflix 下的 Feign,现在学习的是 OpenFeign,是 Spring 提供的。
OpenFeign 是一种声明式、模板化的 HTTP 客户端(仅在 Application Client 中使用)(称 OpenFeign 作用:声明式服务调用)。声明式调用指,就像调用本地方法一样调用远程方法,无需感知操作远程 HTTP 请求。学完 OpenFeign 可以不使用 RestTemplate 进行调用。
Spring Cloud 的声明式调用,可以做到使用 HTTP 请求远程服务时就像调用本地方法一样的体验,开发者完全感知不到这是远程方法,更感知不到这是个 HTTP 请求。Feign 的应用,让 Spring Cloud 微服务调用像 Dubbo 一样,Application Client 直接通过接口方法调用 Application Service,而不需要通过常规的 RestTemplate 构造请求再解析返回数据。它解决了让开发者调用远程接口就跟调用本地方法一样,无需关注与远程的交互细节,更无需关注分布式环境开发。
使用 OpenFeign 时就好像在写控制器方法,OpenFeign 都是写在接口中,在声明的方法上添加 SpringMVC 注解或声明的参数上添加 SpringMVC 注解就可以完成调用远程的控制器方法。