【十九】搭建SpringCloud项目三(Feign)

简介: 【十九】搭建SpringCloud项目三(Feign)


从十七章开始搭建SpringCloud项目,再逐步进行优化,加入其它组件。

上一章加入了gateway组件,本次加入feign组件。

feign是用来调用其他服务的接口的,有时候在其他服务需要使用某一个服务的接口数据,但是由于是分布式多个服务,不能直接调用,于是可以使用feign进行调用,下面进行传参和不传参数的演示。

本章是接着上一章进行的,现结构如下:

注意:先跑注册中心服务,不然会报错,因为每个服务的配置里面写了注册自己到哪个注册中心的地址的。

下面假设product服务需要account服务的接口数据,于是测试product服务调用account的接口。

第一步:在account服务(服务被调用方)新增测试接口

第二步:在product服务(服务调用方)导入feign依赖

<!-- feign微服务调用 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

第三步:修改product服务(服务调用方)启动类

第四步:新增product服务(服务调用方)接口文件和接收类

从第一步的新增测试接口可以看到测试的接口返回的是User类和User类集合,所以在product类也新建一个User类来接受返回的数据,此处只是测试简便所以取名User类(不规范)。

User的结构和Account的User类保持一致。

新增feign调用接口类

FeignClient注解的值是服务被调用方配置的服务名:

PostMapping注解的值是接口的完整路径:

注意:带参数时,需要加上RequestParam或者RequestBody注解。

第五步:测试

使用postman测试

上一章整合了gateway,所以测试直接使用gateway网关的地址。可以看到调用成功。

目录
相关文章
|
2月前
|
应用服务中间件 nginx 微服务
SpringCloud解决feign调用token丢失问题
【5月更文挑战第2天】在feign调用中可能会遇到如下问题: * 同步调用中,token丢失,这种可以通过创建一个拦截器,将token做透传来解决 * 异步调用中,token丢失,这种就无法直接透传了,因为子线程并没有**token**,这种需要先将token从父线程传递到子线程,再进行透传
221 3
|
2月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
300 0
|
4天前
|
XML JSON Java
经验大分享:SpringCloud之Feign
经验大分享:SpringCloud之Feign
10 0
|
2月前
|
前端开发 JavaScript Java
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
|
2月前
|
消息中间件 Java 数据安全/隐私保护
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
|
2月前
|
传感器 数据采集 监控
基于Springcloud可视化项目:智慧工地可视化大数据云平台源码
终端层,充分利用物联网技术和移动应用提高现场管控能力。通过传感器、摄像头等终端设备,实现对项目建设过程的实时监控、智能感知、数据采集和高效协同,提高作业现场的管理能力。
51 5
SpringCloud Feign报错Method has too many Body parameters
SpringCloud Feign报错Method has too many Body parameters
|
2月前
|
Nacos
SpringCloud Feign使用
SpringCloud Feign使用
30 1
|
2月前
|
Java Spring
IDEA 创建 SpringCloud项目-多项目方式
IDEA 创建 SpringCloud项目-多项目方式
|
2月前
|
JSON Java Apache
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient

热门文章

最新文章