0
点赞
收藏
分享

微信扫一扫

Spring Cloud - Feign RequestInterceptor 拦截器


代码案例

package com.chinadaas.platform.dsp.kernel.common.config;

import feign.RequestInterceptor;
import feign.RequestTemplate;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class FeignConfig implements RequestInterceptor {

@Override
public void apply(RequestTemplate template) {

}
}
  • 实现接口代码
package com.chinadaas.platform.dsp.kernel.common.config;

import feign.RequestInterceptor;
import feign.RequestTemplate;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Slf4j
@Configuration
public class FeignHandler {

@Bean
public RequestInterceptor requestInterceptor() {
return template -> {

};
}
}
  • 注解方式代码

配置方案

1、yml 配置:feign.client.config.default.requestInterceptors (会覆盖 Java 配置方式)

feign:
client:
config:
default:
connectTimeout: 60000
readTimeout: 60000
requestInterceptors:
- com.chinadaas.platform.dsp.kernel.common.config.FeignConfig

2、Application.java 全局配置:@EnableFeignClients 属性 defaultConfiguration = XXX.class

@EnableFeignClients(defaultConfiguration = FeignConfig.class)

3、注解配置:@Configuration + @Bean

  • 如上注解方式代码

4、@FeignClient 配置:属性 configuration = XXX.class

@FeignClient(configuration = FeignHandler.class)

注意:FeignConfig 一定是在消费者使用,而不是放在提供者!


举报

相关推荐

0 条评论