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

时间:2021-05-20

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@EnableFeignClientspublic 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 = "/stores") List<Store> getStores(); @RequestMapping(method = RequestMethod.POST, value = "/stores/{storeId}", consumes = "application/json") Store update(@PathVariable("storeId") Long storeId, Store store);}

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

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

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章