从0开始搭建springcloud---Feign

男娘i 2024-04-17 06:29 193阅读 0赞

1. 简介

在前面的文章中可以发现当我们通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下,并且显得好傻。

那么有没有更好的解决方案呢?答案是确定的有,Netflix已经为我们提供了一个框架:Feign。

Feign是一个声明式的Web Service客户端,它的目的就是让Web Service调用更加简单。Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息。

而Feign则会完全代理HTTP请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。Feign整合了Ribbon和Hystrix(关于Hystrix我们后面再讲),可以让我们不再需要显式地使用这两个组件。

总起来说,Feign具有如下特性:

  • 可插拔的注解支持,包括Feign注解和JAX-RS注解;
  • 支持可插拔的HTTP编码器和解码器;
  • 支持Hystrix和它的Fallback;
  • 支持Ribbon的负载均衡;
  • 支持HTTP请求和响应的压缩。

这看起来有点像我们springmvc模式的Controller层的RequestMapping映射。这种模式是我们非常喜欢的。Feign是用@FeignClient来映射服务的。

2. 代码配置

2.1 pom.xml

在这里插入图片描述

2.2 配置启动类

启动类增加@EnableFeignClients
在这里插入图片描述

2.3 配置yml文件

在这里插入图片描述
配置超时时间
在这里插入图片描述

2.4 配置FeignClient

在这里插入图片描述

2.5 调用FeignClient

在这里插入图片描述

这样feign就配置完成,大家自行测试

发表评论

表情:
评论列表 (有 0 条评论,193人围观)

还没有评论,来说两句吧...

相关阅读

    相关 0开始springcloud---Feign

    1. 简介 在前面的文章中可以发现当我们通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,...

    相关 0开始Alpaca

    前言 接上篇,由于公司业务调整,老板让所有的开发开始学python,并一人分配了一个语言模型,要求进行自己尝试搭建部署,而分到我的是Alpaca。 于是Java还没写