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();
}
相关推荐
揣晓丹7 分钟前
JAVA实战开源项目:校园失物招领系统(Vue+SpringBoot) 附源码
java·开发语言·vue.js·spring boot·开源
鸭梨大大大13 分钟前
Spring Web MVC入门
前端·spring·mvc
你的人类朋友13 分钟前
MQTT协议是用来做什么的?此协议常用的概念有哪些?
javascript·后端·node.js
于过18 分钟前
Spring注解编程模型
java·后端
顽疲24 分钟前
从零用java实现 小红书 springboot vue uniapp (11)集成AI聊天机器人
java·vue.js·spring boot·ai
霍徵琅31 分钟前
Groovy语言的物联网
开发语言·后端·golang
uhakadotcom1 小时前
阿里云Tea OpenAPI:简化Java与阿里云服务交互
后端·面试·github
派小汤1 小时前
Springboot + Vue + WebSocket + Notification实现消息推送功能
vue.js·spring boot·websocket
申雪菱1 小时前
Scheme语言的数据挖掘
开发语言·后端·golang
程序员一诺1 小时前
【Flask开发】嘿马文学web完整flask项目第1篇:简介【附代码文档】
后端·python·flask·框架