zoukankan      html  css  js  c++  java
  • 声明式REST调用—Feign初探

    一、什么是Feign

      Feign旨在使编写Java Htpp客户端变得更容易,在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加注解即可。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。

      Feign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端
      Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。
      Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务
      Feign本身不支持Spring MVC的注解,它有一套自己的注解

      OpenFeign是Spring Cloud 在Feign的基础上支持了Spring MVC的注解

    二、使用Feign

      1、添加依赖:spring-cloud-starter-feign

      2、创建一个Feign接口(name/value属性: 作用一样,指定调用服务的微服务名称;url : 指定调用服务的全路径)

    @FeignClient(name = "microservice-provider-user")
    public interface UserFeignClient {
      @RequestMapping(value = "/{id}", method = RequestMethod.GET)
      public User findById(@PathVariable("id") Long id);
    }
    Feign接口

      3、修改controller代码

    @RestController
    public class MovieController {
      @Autowired
      private UserFeignClient userFeignClient;
     
      @GetMapping("/user/{id}")
      public User findById(@PathVariable Long id) {
        return this.userFeignClient.findById(id);
      }
    }
    调用Feign

      4、修改启动类,为其添加@EnableFeignClients注解

    三、自定义Feign配置

    四、手动创建Feign

    五、Feign对继承的支持

    六、Feign对压缩的支持

    七、Feign的日志

    八、使用Feign构造多参数请求

    后面都是些高级用法,目前还没有看懂,等我看懂了再来补充

  • 相关阅读:
    获取字符串出现的次数
    手机号码正则表达式验证
    DOM: EVENT FLOW
    AsyncCallback 异步回调委托
    高德地图
    我的json
    Arrow function restore
    constructor&object 的联系与对比
    for each/in/of的解释and example
    program发展史及以后预测
  • 原文地址:https://www.cnblogs.com/yanghanwen/p/12093715.html
Copyright © 2011-2022 走看看