【Spring Cloud Alibaba】OpenFeign扩展点实战 + 源码详解
@Configuration
public class FeignConfig {
@Bean
public Contract feignContract() {
return new Contract.Default(); // 使用默认的Contract
}
@Bean
public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
return new BasicAuthRequestInterceptor("user", "password"); // 基本认证
}
}
@FeignClient(name = "example-service", configuration = FeignConfig.class, url = "http://localhost:8080")
public interface ExampleServiceFeignClient {
@GetMapping("/api/resource")
String getResource();
}
在这个示例中,我们定义了一个Feign配置类FeignConfig
,在这个类中我们定义了一个Bean,这个Bean是Feign的Contract,我们使用的是默认的Contract。同时,我们定义了一个BasicAuthRequestInterceptor Bean,用于Feign请求的基本认证。在ExampleServiceFeignClient
接口中,我们指定了Feign客户端的配置为FeignConfig
,并且指定了服务的URL。这样,当我们调用getResource
方法时,Feign请求会使用基本认证。
评论已关闭