Spring Cloud OpenFeign REST服务客户端原理及用法解析

OpenFeign是什么?

OpenFeign是REST服务客户端,REST其实就是HTTP啦,所以OpenFeign其实就是HTTP客户端,那么他和HttpClient有什么不同呢

  • OpenFeign的使用方法更加的简单
  • OpenFeign配合Spring的HttpMessageConverters可以自动把结果转换成Java对象
  • OpenFeign配合Ribbon、Eureka和Spring Cloud LoadBalancer可以支持负载均衡

如何使用OpenFeign

第一步引入OpenFeign

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

第二步启动OpenFeign客户端功能

@SpringBootApplication
@EnableFeignClients
public class Application {
 
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
 
}

第三步编写REST服务接口

@FeignClient(name = "stores", url = "http://localhost:7074")<br data-filtered="filtered">public interface StoreClient {
  @RequestMapping(method = RequestMethod.GET, value = "http://www.cppcns.com/stores")
  List<Store> getStores();
 
  @RequestMapping(method = RequestMethod.POST, value = "http://www.cppcns.com/stores/{storeId}", consumes = "application/json")
  Store update(@PathVariable("storeId") Long storeId, Store store);
}

在@FeignClient中的字符串称为Feign客户端名字,它可以是任意的字符串,设置名字的目的就是为了方便在其它地方引用它,例如配置Rabbin或Spring Cloud LoadBalancer负载均衡(后面会详细介绍如何做)。

在@FeignClient中还可以设置url参数,它表示提供REST服务的地址,如果你没有设置url参数,那么就要在配置文件中配置。

之后我们就可以把StoreClient注入到我们需要使用的地方啦。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

Spring Cloud OpenFeign REST服务客户端原理及用法解析

扫一扫手机访问