返回 登录
0

深入理解Feign之源码解析

写一个Feign
现在来简单的实现一个Feign客户端,首先通过@FeignClient,客户端,其中value为调用其他服务的名称,FeignConfig.class为FeignClient的配置文件,代码如下:

@FeignClient(value = “service-hi”,configuration = FeignConfig.class)
public interface SchedualServiceHi {
@GetMapping(value = “/hi”)
String sayHiFromClientOne(@RequestParam(value = “name”) String name);
}
其自定义配置文件如下,当然也可以不写配置文件,用默认的即可:

@Configuration
public class FeignConfig {

@Bean
public Retryer feignRetryer() {
    return new Retryer.Default(100, SECONDS.toMillis(1), 5);
}

}
查看FeignClient注解的源码,其代码如下:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FeignClient {

@AliasFor(“name”)
String value() default “”;

@AliasFor(“value”)
String name() default “”;

@AliasFor(“value”)
String name() default “”;
String url() default “”;
boolean decode404() default false;

Class

评论