zoukankan      html  css  js  c++  java
  • Feign【@FeignClient】

    首先看一下@FeignClient注解的源码:

    package org.springframework.cloud.openfeign;
    
    import java.lang.annotation.Documented;
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    import org.springframework.core.annotation.AliasFor;
    
    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface FeignClient {
        @AliasFor("name")
        String value() default "";
    
        /** @deprecated */
        @Deprecated
        String serviceId() default "";
    
        @AliasFor("value")
        String name() default "";
    
        String qualifier() default "";
    
        String url() default "";
    
        boolean decode404() default false;
    
        Class<?>[] configuration() default {};
    
        Class<?> fallback() default void.class;
    
        Class<?> fallbackFactory() default void.class;
    
        String path() default "";
    
        boolean primary() default true;
    }

    可以看出@FeignClient注解被@Target(ElementType.TYPE)修饰,表示@FeignClient注解的作用目标在接口上。

    针对其常用属性做如下归纳:

    • String name():指定FeignClient的名称,如果项目使用了ribbon做负载均衡,name属性会作为微服务的名称,用于服务发现。
    • String url():url一般用于调试,可以指定FeignClient注解调用的地址。
    • boolean decode404():当发生404错误时,如果该字段为true,会调用decoder进行解码,否则抛出FeignException异常,默认是false。
    • Class<?> configuration():Feign的配置类,可以自定义Feign的Encoder、Decoder、LogLevel、Contract。
    • Class<?> fallback():定义容错的处理类,当远程调用超时或者远程接口失败,会调用对应接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口。
    • Class<?> fallbackFactory():工厂类,用于生成fallback类实例,通过这个属性我们可以实现每个接口通用的容错逻辑,减少重复的代码。
    • String path():定义当前FeignClient的统一前缀路径。

      

    feign支持对特定名称的feign细粒化配置,也支持针对整个项目做全局配置。

  • 相关阅读:
    松软科技web课堂:SQLServer之ROUND() 函数
    松软科技web课堂:SQLServer之LEN() 函数
    接口工具比较
    记录EXCEL格式和TXT文本格式之间的互转
    Fiddler安装证书
    Nginx概述及安装配置
    YSLOW(一款实用的网站性能检测工具)
    通用测试用例大全
    Macaca环境配置及样例执行
    ADB命令
  • 原文地址:https://www.cnblogs.com/idoljames/p/11668598.html
Copyright © 2011-2022 走看看