天天看点

SpringCloud Feign的使用

一. 什么是Feign

Feign是一个声明式的Web Service客户端,使用Feign只需要创建一个接口加上对应的注解,比如:@FeignClient注解。SpringCloud Open Feign对Feign进行增强支持Spring MVC注解。

二. Feign的特性

  • 可插拔的注解支持,包括Feign注解和JAX-RS注解;
  • 支持可插拔的HTTP编码器和解码器;
  • 支持Hystrix和它的Fallback;
  • 支持Ribbon的负载均衡;
  • 支持HTTP请求和响应的压缩。

三. Feign主要属性介绍

@AliasFor("name")
    String value() default "";

    /** @deprecated */
    @Deprecated
    String serviceId() default "";
	// id
    String contextId() default "";

    @AliasFor("value")
    //指定FeignClient的名称,作为微服务的名称,用于服务发现
    String name() default "";

    String qualifier() default "";

    String url() default "";

    boolean decode404() default false;
	//Feign的配置类,可以自定义Feign的Encode,Decoder,LogLevel,Contract。
    Class<?>[] configuration() default {};
	//定义容错的处理类,当调用远程接口 失败 或者 超时 时候,会调用
	// 对应的接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口
    Class<?> fallback() default void.class;
	//工厂类,用于生成fallback类示例
    Class<?> fallbackFactory() default void.class;
	//定义当前FeginClient的统一前缀
    String path() default "";

    boolean primary() default true;
           

四. Feign的Post和Get的多参数传递

继续阅读