SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用

介绍

在微服务架构中,用户信息通常是通过请求头(HTTP headers)在服务间传递的,以便让下游服务能够识别请求来自于哪个用户,并执行相关的授权、认证等操作。在使用 OpenFeign 进行服务间调用时,我们可以通过在请求头中传递用户信息来实现这种需求。

OpenFeign中提供了一个拦截器接口,所有由OpenFeign发起的请求都会先调用拦截器处理请求

创建请求拦截器

java 复制代码
@Configuration
public class OpenFeignConfig {

    @Bean
    public RequestInterceptor userInterceptor(){
        return new RequestInterceptor() {
            @Override
            public void apply(RequestTemplate requestTemplate) {
                requestTemplate.header("user-id","123456");
            }
        };
    }
}

其他微服务获取值

java 复制代码
@GetMapping("/list")
public List<Goods> list(@RequestHeader(value = "user-id") String userId){
    System.out.println("我被调用用户:"+ userId);
  return  goodsService.list();
}
相关推荐
爱码少年1 小时前
springboot中责任链模式之简单应用
spring boot·责任链模式
苹果酱05672 小时前
「Mysql优化大师一」mysql服务性能剖析工具
java·vue.js·spring boot·mysql·课程设计
武昌库里写JAVA2 小时前
【MySQL】7.0 入门学习(七)——MySQL基本指令:帮助、清除输入、查询等
spring boot·spring·毕业设计·layui·课程设计
车载诊断技术3 小时前
电子电气架构 --- 什么是EPS?
网络·人工智能·安全·架构·汽车·需求分析
武子康3 小时前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
java·大数据·数据仓库·hive·hadoop·架构
刘大辉在路上5 小时前
突发!!!GitLab停止为中国大陆、港澳地区提供服务,60天内需迁移账号否则将被删除
git·后端·gitlab·版本管理·源代码管理
追逐时光者6 小时前
免费、简单、直观的数据库设计工具和 SQL 生成器
后端·mysql
初晴~7 小时前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
盖世英雄酱581367 小时前
InnoDB 的页分裂和页合并
数据库·后端