【十九】搭建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月前
|
JSON SpringCloudAlibaba Java
Springcloud Alibaba + jdk17+nacos 项目实践
本文基于 `Springcloud Alibaba + JDK17 + Nacos2.x` 介绍了一个微服务项目的搭建过程,包括项目依赖、配置文件、开发实践中的新特性(如文本块、NPE增强、模式匹配)以及常见的问题和解决方案。通过本文,读者可以了解如何高效地搭建和开发微服务项目,并解决一些常见的开发难题。项目代码已上传至 Gitee,欢迎交流学习。
176 1
Springcloud Alibaba + jdk17+nacos 项目实践
|
25天前
|
负载均衡 Java API
项目中用的网关Gateway及SpringCloud
Spring Cloud Gateway 是一个功能强大、灵活易用的API网关解决方案。通过配置路由、过滤器、熔断器和限流等功能,可以有效地管理和保护微服务。本文详细介绍了Spring Cloud Gateway的基本概念、配置方法和实际应用,希望能帮助开发者更好地理解和使用这一工具。通过合理使用Spring Cloud Gateway,可以显著提升微服务架构的健壮性和可维护性。
33 0
|
2月前
|
JSON Java 数据格式
【微服务】SpringCloud之Feign远程调用
本文介绍了使用Feign作为HTTP客户端替代RestTemplate进行远程调用的优势及具体使用方法。Feign通过声明式接口简化了HTTP请求的发送,提高了代码的可读性和维护性。文章详细描述了Feign的搭建步骤,包括引入依赖、添加注解、编写FeignClient接口和调用代码,并提供了自定义配置的示例,如修改日志级别等。
131 1
|
7月前
|
应用服务中间件 nginx 微服务
SpringCloud解决feign调用token丢失问题
【5月更文挑战第2天】在feign调用中可能会遇到如下问题: * 同步调用中,token丢失,这种可以通过创建一个拦截器,将token做透传来解决 * 异步调用中,token丢失,这种就无法直接透传了,因为子线程并没有**token**,这种需要先将token从父线程传递到子线程,再进行透传
466 3
|
3月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
3月前
|
前端开发 API 微服务
SpringCloud微服务之间使用Feign调用不通情况举例
SpringCloud微服务之间使用Feign调用不通情况举例
662 2
|
3月前
|
Java API 开发者
【已解决】Spring Cloud Feign 上传文件,提示:the request was rejected because no multipart boundary was found的问题
【已解决】Spring Cloud Feign 上传文件,提示:the request was rejected because no multipart boundary was found的问题
676 0
|
5月前
|
消息中间件 负载均衡 Java
最容易学会的springboot gralde spring cloud 多模块微服务项目
最容易学会的springboot gralde spring cloud 多模块微服务项目
|
6月前
|
XML JSON Java
经验大分享:SpringCloud之Feign
经验大分享:SpringCloud之Feign
78 0
|
7月前
|
前端开发 JavaScript Java
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面