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();
}
相关推荐
小坏讲微服务10 分钟前
Spring Cloud Alibaba 整合 Scala 教程完整使用
java·开发语言·分布式·spring cloud·sentinel·scala·后端开发
过客随尘16 分钟前
Spring AOP以及事务详解(一)
spring boot·后端
vx_dmxq21125 分钟前
【微信小程序学习交流平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·微信小程序·小程序·idea
武子康25 分钟前
大数据-167 ELK Elastic Stack(ELK) 实战:架构要点、索引与排错清单
大数据·后端·elasticsearch
9号达人25 分钟前
优惠系统演进:从"实时结算"到"所见即所得",前端传参真的鸡肋吗?
java·后端·面试
q***071432 分钟前
Spring Boot 中使用 @Transactional 注解配置事务管理
数据库·spring boot·sql
wei_shuo34 分钟前
openEuler 底座赋能:openGauss 数据库部署与性能实战评测
后端
Mintopia36 分钟前
无界通信与主题切换:当主系统邂逅子系统的浪漫史
架构·前端框架·前端工程化
用户40981702151037 分钟前
Python 的基本类型
后端
codetown1 小时前
openai-go通过SOCKS5代理调用外网大模型
人工智能·后端