feign调用走不走网关全局拦截_Feign Interceptor 拦截器实现全局请求参数

本文介绍了在SpringCloud项目中,如何使用Feign的Interceptor来避免在每个方法中重复添加公共请求参数,例如Token和开发者Key。通过创建自定义拦截器并注入到FeignClient的配置类中,可以在每个请求中自动附加特定的查询参数,简化代码并提高代码复用。示例展示了如何添加一个名为`name`的查询参数,值为`Allen`。
摘要由CSDN通过智能技术生成

背景

在第三方API对接中通常所有接口都需要在Header或Param放置固定参数(Token、开发者Key等),因为是SpringCloud开发,一般HTTP工具采用Feign。如果选择每个方法都copy相应字段,显得较为冗余。这个时候就可以使用Feign的Interceptor功能。

实现

Talk is cheap,show me the code.

下面选择一个具体场景,需要某个FeignClient内所有接口都带上一个查询字符串:name=Allen

@FeignClient(value = "example", url = "https://api.xxx.com",configuration = MyConfig.class)

public interface ExampleClient {

@PutMapping(value = "/a")

AddRes add(@RequestParam("id") String id);

@DeleteMapping(value = "/b")

DelRes delete(@RequestParam("id") String id);

}

在@FeignClient注解的configuration参数指定一个配置类,下面是这个配置类的实现

public class MyConfig {

@Bean("myInterceptor")

public RequestInterceptor getRequestInterceptor() {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值