Feign
概述
直接使用RestTemplate存在问题
- 在请求接口时, 路径仍存在问题, 只解决了服务名称, 没有解决服务后, 功能路径问题, 因为有可能是别人开发的, 你不知道后面功能路径是什么
什么是Feign
- Feign是一个声明式的WebService客户端
- Feign旨在使编写Java HTTP客户端变得更容易
- Feign在RestTemplate基础上做了进一步封装,由他来帮助我们定义和实现依赖服务接口的定义
- Feign可以把请求进行隐藏,你不用再自己拼接URL,拼接参数等等操作,一切都交给Feign去做
- 调用时, 使用的负载均衡, 是当前客户端配置的负载均衡规则
Feign使用步骤
在客户端引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
在启动类上面加上注解@EnableFeignClients
🐤创建服务FeignClient
- 创建一个
service
文件夹,在该文件下创建一个接口
- 在接口上面加上
@FeignClient()
注解,参数就是你的微服务名字
@FeignClient(name = "client-goods")
public interface GoodsFeignClient {
@RequestMapping("/getGoods.do")
ResponseResult getGoods();
}
在控制器当中进行调用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具