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构造多参数请求

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

  • 相关阅读:
    HashMap的小总结 + 源码分析
    Java的Cloneable接口还有深浅复制
    由Reference展开的学习
    类型信息小笔记
    String的小笔记
    Thinking In Java持有对象阅读记录
    Longest Palindromic Substring笔记
    Eclipse部署项目的原理简介eclipse,wtpwebapps,tomcat
    如何给不支持新特性的浏览器打补丁(让老版本IE兼容新特性)
    Listener监听器与Filter过滤器
  • 原文地址:https://www.cnblogs.com/yanghanwen/p/12093715.html
Copyright © 2011-2022 走看看