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注入到我们需要使用的地方啦。

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

相关文章

  • SpringBoot Redis配置多数据源的项目实践

    SpringBoot Redis配置多数据源的项目实践

    springboot中默认的redis配置是只能对单个redis库进行操作的, 那么我们需要多个库操作的时候这个时候就可以采用redis多数据源 ,本文就介绍了SpringBoot Redis配置多数据源,感兴趣的可以了解一下
    2023-07-07
  • Java中Thread类详解及常用的方法

    Java中Thread类详解及常用的方法

    在java中谈到线程,必然少不了Thread类,下面这篇文章主要给大家介绍了关于Java中Thread类及常用的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • JAVA遍历Map集合的几种方法汇总

    JAVA遍历Map集合的几种方法汇总

    这篇文章主要给大家介绍了关于JAVA遍历Map集合的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • SpringBoot环境配置知识总结

    SpringBoot环境配置知识总结

    今天带大家了解SpringBoot环境配置的相关知识,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Java对象为null的问题解决

    Java对象为null的问题解决

    如果一个对象为空,但是此时我们调用它的方法,就会遇到NullPointerException问题,本文主要介绍了Java对象为null的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • SpringBoot文件上传的原理解析

    SpringBoot文件上传的原理解析

    这篇文章主要介绍了SpringBoot文件上传的原理解析,SpringBoot 文件上传是一种方便快捷的方式,可以将文件上传到服务器,通过使用SpringBoot的文件上传功能,可以轻松地实现文件上传功能,需要的朋友可以参考下
    2023-10-10
  • Reactive Programming入门概念详解

    Reactive Programming入门概念详解

    这篇文章主要为大家介绍了Reactive Programming入门概念详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • SpringBoot操作Jedis案例代码

    SpringBoot操作Jedis案例代码

    这篇文章主要介绍了SpringBoot操作Jedis案例代码,代码部分包括pom依赖、配置相关参数、JedisPool的设置,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 读取xml文件中的配置参数实例

    读取xml文件中的配置参数实例

    下面小编就为大家带来一篇读取xml文件中的配置参数实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Java中StringBuilder常用构造方法解析

    Java中StringBuilder常用构造方法解析

    这篇文章主要介绍了Java中StringBuilder常用构造方法解析,StringBuilder是一个可标的字符串类,我们可以吧它看成是一个容器这里的可变指的是StringBuilder对象中的内容是可变的,需要的朋友可以参考下
    2024-01-01

最新评论