首页 > 其他分享 >Feign客户端的拦截器

Feign客户端的拦截器

时间:2023-06-26 19:56:20浏览次数:45  
标签:Feign 拦截器 请求 Header template apply import 客户端

import feign.RequestInterceptor;
import feign.RequestTemplate;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

@Slf4j
@Component
public class MyFeignInterceptor implements RequestInterceptor {
    @Override
    public void apply(RequestTemplate template) {

        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

        log.info("===request: {}", template.url());
        template.header("aaaa", "bbbb");
    }
}

这段代码是一个Feign客户端的拦截器,用于在客户端发送请求时,往HTTP请求Header中添加一个自定义的字段和字段值。

具体来说,这个拦截器实现了FeignRequestInterceptor接口,并重写了其中的apply方法。apply方法的作用是在发送请求之前对请求进行一些处理,例如添加Header、修改URL等。

apply方法中,首先通过RequestContextHolder.getRequestAttributes()获取到当前请求的上下文信息,然后通过template.header方法添加一个自定义的Header字段。在这里,添加的Header字段的名称为"aaaa",值为"bbbb"

最后,通过log.info方法打印出当前请求的URL,以便于调试和追踪请求。

标签:Feign,拦截器,请求,Header,template,apply,import,客户端
From: https://www.cnblogs.com/Rover20230226/p/17506580.html

相关文章

  • iSecure Center综合安防管理平台 监控平台客户端使用
     iSecureCenter综合安防管理平台监控平台客户端使用   一、 登录,  账号:admin  密码:xxxxxx  平台地址:192.168.1.6  端口:443二、 点击实时预览,可以看监控点实时画面,把想看的点位拖到方框里即可。    三、 录像回放,点击录像回放,可以看到以前的录像......
  • Steam客户端现在可以让你在Linux上启用硬件加速了
    Valve最近发布了一个新的稳定的Steam客户端更新,大多数Linux玩家已经等待了很久,因为它最终让你在你的系统上启用硬件加速。新的稳定的Steam客户端更新是一个重要的更新,带来了一个具有现代设计元素(对话框、菜单、字体和颜色)的全新外观,更丰富的通知,大修的游戏内覆盖,更新的屏......
  • Steam客户端现在可以让你在Linux上启用硬件加速了
    Valve最近发布了一个新的稳定的Steam客户端更新,大多数Linux玩家已经等待了很久,因为它最终让你在你的系统上启用硬件加速。新的稳定的Steam客户端更新是一个重要的更新,带来了一个具有现代设计元素(对话框、菜单、字体和颜色)的全新外观,更丰富的通知,大修的游戏内覆盖,更新的屏......
  • 远程桌面客户端(Remote Desktop Client)是一种用于远程连接到另一台计算机的应用程序。
    远程桌面客户端(RemoteDesktopClient)是一种用于远程连接到另一台计算机的应用程序。它允许用户通过网络连接到远程计算机,并在本地计算机上使用远程计算机的桌面环境和应用程序。以下是关于远程桌面客户端的一些重要信息:功能:远程桌面客户端提供了许多功能,包括:连接到远程计算机:通......
  • 国标GB28181协议客户端开发(二)程序架构和注册
    国标GB28181协议客户端开发(二)程序架构和注册本系列文章旨在探讨国标GB28181协议设备端的开发过程。本文将聚焦于架构设计和设备注册,并详细介绍了设备端的程序架构设计、exosip库介绍和接口分类,以及GB28181设备端的注册流程和信令交互报文。通过阅读本文,读者将深入了解GB28181协......
  • 一个亚马逊赞助的.Net轻量级、流行的HTTP客户端库
    我们在实际项目开发中,操作Http请求可以说是非常常见了,这里面就涉及到授权、格式转换、标头参数等,针对不同的项目,我们需要封装一个Http请求帮助类。所以,今天给大家推荐一个Http客户端库,就能完全满足我们的日常需求。 项目简介这是一个基于.Net开发的Http客户端库,它具备序列化......
  • No Feign Client or loadBalanced defined
     创建consumer通过feign调用provider服务时报错一开始是Controller里@Autowired爆红,无法识别EchoService在主启动类中添加@EnableFeignClient后红线消失但运行后出现上面图中的错误百度一下后得知SpringCloudFeign在Hoxton.M2RELEASED版本之后不再使用ribbon(看的教程里教......
  • FeignClient【Feign】
    (关键处)将商品微服务中的分页查询商品接口定义为一个FeignClient,放到feign-api模块中1、@FeignClient的名字为application.yml文件中的application.name2、@GetMapping的路径为ItemController文件中的@RequestMapping路径+请求方式路径packagecom.hmall.common.fei......
  • OpenFeign服务接口调用
    官网解释:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeignFeign是一个声明式WebService客户端。使用Feign能让编写WebService客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的......
  • AI文案撰写客户端 OpenAI ChatGPT v0.11.0
    本文转载自:AI文案撰写客户端OpenAIChatGPTv0.11.0更多内容请访问钻芒博客:https://www.zuanmang.net软件介绍ChatGPTv0.11.0是一款由 OpenAI 官方开发出品的深度学习技术的人工智能聊天机器人软件,它通过大量的语言训练,可以回答各种问题,如科技、历史、地理、数学等,并能生......