美文网首页
SpringCloud-Fegin-01入门介绍

SpringCloud-Fegin-01入门介绍

作者: 小亮__ | 来源:发表于2019-06-28 07:36 被阅读0次

    简介

    Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
    简而言之:

    • Feign 采用的是基于接口的注解
    • Feign 整合了ribbon,具有负载均衡的能力
    • 整合了Hystrix,具有熔断的能力

    Demo

    加依赖

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>
    

    编写接口

    // FeignClient指定要调用的user-server服务(在Eureck中注册好的)
    @FeignClient(name = "user-server")
    public interface UserFeignClient {
      @GetMapping("/users/{id}")
      User findById(@PathVariable("id") Long id);
    }
    

    编写调用

    @RestController
    public class TestController {
    // 使用注解注入即可使用
      @Autowired
      private UserFeignClient userFeignClient;
    }
    

    配置参数-局部配置(Edgware开始支持)

    局部配置<指定feignName>
    
     # 相当于Request.Options
    feign.client.config.<feignName>.connectTimeout=5000
    # 相当于Request.Options
    feign.client.config.<feignName>.readTimeout=5000
     # 配置Feign的日志级别,相当于代码配置方式中的Logger
    feign.client.config.<feignName>.loggerLevel=full
    # Feign的错误解码器,相当于代码配置方式中的ErrorDecoder
    feign.client.config.<feignName>.errorDecoder= com.example.SimpleErrorDecoder
    # 配置重试,并不建议使用(Spring Cloud Camden以及之后的版本,关闭了Feign的重试,而是使用Ribbon的重试)
    feign.client.config.<feignName>.retryer= com.example.SimpleRetryer
    # 配置拦截器,相当于代码配置方式中的RequestInterceptor
    feign.client.config.<feignName>.requestInterceptors=
    
    全局配置<指定default>
    feign.client.config.default.connectTimeout=5000
    feign.client.config.default.readTimeout=5000
    feign.client.config.default.loggerLevel=full
    

    相关文章

      网友评论

          本文标题:SpringCloud-Fegin-01入门介绍

          本文链接:https://www.haomeiwen.com/subject/jyyjcctx.html