RestTemplate和Feign的区别

2023-05-16

文章目录

    • 1.远程调用方法(RestTemplate和Feign)
      • 1.RestTemplate简单的远程调用原型
      • 2.Feign远程调用

1.远程调用方法(RestTemplate和Feign)

请添加图片描述

1.RestTemplate简单的远程调用原型

1.注册一个RestTemplate实例到Spring容器

请添加图片描述

2.拼接转发到user-service的路径,并通过restTemplate方法发起调用,并获得user-service执行结果。

请添加图片描述

2.Feign远程调用

1.导入依赖

在order-service服务的pom文件中引入feign的依赖:

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

2.添加注解

请添加图片描述

3.编写Feign的客户端

不写属性的话,默认表示name值,这个案例,需要url,所以写了以下两个属性:

属性name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现。本案例用于简单的远程调用,所有name没太大意义,只是为了不报错而已。

属性url:手动指定@FeignClient调用的地址。

然后接口方法里面,就是消费者order-service调用提供者user-service的方法。这里是基于SpringMVC实现的,使用requestMapping发送HTTP请求并获得对应的响应值。

请添加图片描述

4.在orderservice注入feign客户端,通过FeignClient发送请求,获得响应结果

请添加图片描述

RestTemplateFeign
使用简便,用于少量参数的远程调用需要编写客户端,使用相对复杂
用与多参数的远程调用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RestTemplate和Feign的区别 的相关文章

随机推荐