使用 Feign 实现声明式 REST 调用
使用 Feign 实现声明式 REST 调用
一、基本使用
1、为当前项目引入 Feign
2、在 application.java 启动类处添加 @EnableFeignClients 注解。
3、编写 ServerClient,例如针对 user-info-server 服务编写 UserInfoServerClient 如下:
4、在项目中直接自动注入 UserInfoServerClient 即可使用该接口中的方法实现远程调用。
二、进阶使用
上述方法只适合于那些不需要权限就能无限制访问的接口,如果遇到需要授权才能访问的接口呢?
1、为当前项目引入 Feign
2、去掉 @EnableFeignClients 注释 和 @FeignClient(name = "user-info-server")
3、配置 UserInfoServerClientExt 类,代码如下:
4、然后在 Controller 中自动装载 UserInfoServerClientExt 使用其中的 UserInfoServer 对象即可访问需要授权的接口。
5、Get 请求多参数的 URL
6、Post 请求多参数
三、进阶知识
1、Feign 对压缩的支持
需要在 application.yml 中配置 feign.compression.request.enable = true 、feign.compression.response.enable = true
对于请求的压缩,Feign 还提供了更为详细的设置,例如:
mime-types 代表请求类型
min-request-size 用于设置请求的最小阈值,默认是 2048
__EOF__

本文作者:ZOLMK
本文链接:https://www.cnblogs.com/zolmk/p/14073889.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zolmk/p/14073889.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
分类:
SpringCloud
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义