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

 更新时间:2020年10月09日 09:58:01   作者:StrongerBrother  
这篇文章主要介绍了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 = "/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注入到我们需要使用的地方啦。

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

相关文章

  • springboot2+mybatis多种方式实现多数据配置方法

    springboot2+mybatis多种方式实现多数据配置方法

    这篇文章主要介绍了springboot2+mybatis多种方式实现多数据配置方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Jenkins安装maven环境搭建方式

    Jenkins安装maven环境搭建方式

    这篇文章主要介绍了Jenkins安装maven环境搭建方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Mybatis中连接查询和嵌套查询实例代码

    Mybatis中连接查询和嵌套查询实例代码

    这篇文章主要给大家介绍了关于Mybatis中连接查询和嵌套查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Java替换字符串replace和replaceAll方法举例详解

    Java替换字符串replace和replaceAll方法举例详解

    这篇文章主要介绍了Java中替换字符串的几种方法,包括String类的replace()、replaceAll()、replaceFirst()方法,以及StringBuilder和StringBuffer类的replace()方法,还提到了一些第三方库,如Hutool,它们提供了更丰富的字符串处理功能,需要的朋友可以参考下
    2025-02-02
  • 高斯混合模型与EM算法图文详解

    高斯混合模型与EM算法图文详解

    高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型
    2021-08-08
  • win10系统64位jdk1.8的下载与安装教程图解

    win10系统64位jdk1.8的下载与安装教程图解

    这篇文章主要介绍了win10系统64位jdk1.8的下载与安装教程图解,本文给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Spring Boot集成Quartz注入Spring管理的类的方法

    Spring Boot集成Quartz注入Spring管理的类的方法

    本篇文章主要介绍了Spring Boot集成Quartz注入Spring管理的类的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Java C++题解leetcode769最多能完成排序的块

    Java C++题解leetcode769最多能完成排序的块

    这篇文章主要为大家介绍了Java C++题解leetcode769最多能完成排序的块示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • SpringBoot使用 Sleuth 进行分布式跟踪的过程分析

    SpringBoot使用 Sleuth 进行分布式跟踪的过程分析

    Spring Boot Sleuth是一个分布式跟踪解决方案,它可以帮助您在分布式系统中跟踪请求并分析性能问题,Spring Boot Sleuth是Spring Cloud的一部分,它提供了分布式跟踪的功能,本文将介绍如何在Spring Boot应用程序中使用Sleuth进行分布式跟踪,感兴趣的朋友一起看看吧
    2023-10-10
  • IntelliJ IDEA 刷题利器 LeetCode 插件详解

    IntelliJ IDEA 刷题利器 LeetCode 插件详解

    这篇文章主要介绍了IntelliJ IDEA 刷题利器 LeetCode 插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08

最新评论