Feign 使用基础
📄 feign 使用基础 _ PIGCLOUD
商业版
生态🔥
快速上手
前端部分
功能使用
后端部分
- 📄 数据库字段文档说明
- 📄 登录 token 生成源码解析
- 📄 请求校验 token 源码解析
- 📄 HTTP客户端获取 token
- 📄 feign 使用基础
- 📄 Feign 调用与令牌传递👍
- 📄 @Inner 注解使用及原理 👍
- 📄 社交短信登录原理
- 📄 接口直接对外暴露
- 📄 前端密码加密处理
- 📄 验证码配置及开关
- 📄 登录短信验证码发送
- 📄 信息推送功能使用
- 📄 配置文件加载规则
- 📄 全局异常处理
- 📄 异常国际化处理
- 📄 配置文件动态刷新
- 📄 网关动态路由原理
- 📄 服务配置 cors 跨域
- 📄 feign 自动降级功能
- 📄 配置文件加解密
- 📄 logback 日志输出配置
- 📄 @SysLog 日志注解使用
- 📄 监控服务常见功能使用
- 📄 Druid 分布式 SQL 监控使用
- 📄 MyBatis-Plus连表查询
扩展必看
生产部署
社区分享
更新日志
📄 feign 使用基础
pigcloud 2023/6/1
Feign 是一个轻量级的 http 请求调用框架,可以通过 Java 接口注解的方式进行 Http 请求。Feign 通过注解处理,将请求模板化。在实际调用时,传入参数,并根据参数应用到请求上,最终转化为真正的请求。该框架封装了 http 调用流程,让其更加简单易用。
# 一、架构说明

参考新增微服务完成 CRUD (opens new window),在操作时会新建一个包含两个模块的 Maven 微服务业务模块。
1 | x |
如上图所示,“服务调用方 X”调用“服务提供方 upms”的相关接口。因此,”X”服务需要引入 upms-api 的 Maven 模块。 需要特别注意:==引入是服务提供方的 API 模块,而不是引入 BIZ==。
# 二、具体操作

# FeignClient 定义
如上图所示,我们以 upms 模块为例,展示如何定义 feign 调用。
- ①:如上文(一、架构说明)所述,Feign 客户端必须定义在 API 模块中。如果服务提供方没有 API 模块(例如 mp/pay 等模块),则需要自己创建对应的 Maven API 模块,参考 upms-api 即可。
- ③:feignclient 注解的 contextId 属性代表 bean 名称,在整个工程中必须唯一。
- ④:feignclient 注解的 value 属性代表服务提供方的名称。
- ⑤:Mapping 路径对应服务提供方接口路径(服务提供接口的 Controller Mapping + 接口 Mapping)。
# SPI 文件声明
如上图 ⑥,我们需要将 feignclient 所属类的全路径配置在 META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports 文件中

作用说明
虽然框架会自动扫描 com.pig4cloud.pigx 包下的所有FeignClient,但在部分情况下,由于包名定义不规范,可能会导致FeignClient无法被扫描到,非常难以排查。因此,将FeignClient配置在Spring SPI文件中,可以确保在任何情况下都能正确加载相应的FeignClient。
📄 HTTP客户端获取 token 📄 Feign 调用与令牌传递👍

- 标题: Feign 使用基础
- 作者: PIGCLOUD
- 创建于 : 2024-01-01 00:00:00
- 更新于 : 2025-09-22 14:27:28
- 链接: https://anime-blog.52lin.site/📄 feign 使用基础 _ PIGCLOUD/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。