当前位置: 首页 > ops >正文

OpenFeign声明式调用实战指南

使用

openFegin的使用还是比较简单的~

引入依赖

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-openfeign-core</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>

启动类加注解

//指定扫描包路径
@EnableFeignClients(basePackages = "net.nxe")
@SpringBootApplication(scanBasePackages = "net.nxe")
public class UCServer {public static void main(String[] args) {SpringApplication.run(UCServer.class);}
}

写接口

@PostMapping("/test")
public void test(@RequestBody EmployeeEffectiveMemberParam param) {employeeEffectiveMember.setCreateTime(new Date());employeeEffectiveMemberService.save(employeeEffectiveMember);
}

 定义OpenFegin接口

保证和定义的接口一致就可以了~~

@FeignClient(value = "test")
public interface EmployeeEffectiveMemberService {@PostMapping("/test")void addEmployeeEffectiveMember(@RequestBody EmployeeEffectiveMemberParam param);
}

补充

OpenFegin远程调用无数据

检查Feign客户端接口定义
确保Feign客户端的接口定义与原接口完全一致,包括:

URL路径:路径中的参数是否使用 {variable} 占位符,并用 @PathVariable 或@RequestParam 正确绑定。

HTTP方法:如 @GetMapping、@PostMapping 等。

参数注解:区分 @PathVariable、@RequestParam、@RequestBody 的使用场景。

// 错误示例:缺少@RequestParam注解
@GetMapping("/data")
List<Data> getData(String id); // 正确示例
@GetMapping("/data")
List<Data> getData(@RequestParam("id") String id);

 @SpringQueryMap注解解释

@SpringQueryMap 是 Spring Cloud OpenFeign 中的一个注解,用于处理 HTTP 请求参数。它将对象的属性自动映射为 URL 查询参数

使用场景:

假设你需要发出一个GET请求,并传递多个查询参数。如果你使用 @SpringQueryMap,可以更方便地将一个对象的属性转换为查询参数,而不需要手动设置每一个参数。会将对象的属性 (name, age, location) 会自动映射到 GET 请求的查询参数

http://www.xdnf.cn/news/13968.html

相关文章:

  • Kubernetes安全机制深度解析(四):动态准入控制和Webhook
  • 前端面试专栏-基础篇:6. 跨域方案全对比(CORS/JSONP/Nginx)与安全攻防
  • Linux驱动学习day4
  • 【Twisted】Python 使用Twisted实现TCP多人聊天Demo
  • 两个矩阵的卷积运算
  • 一个用专业知识库与多层RAG打造调研报告的Agent
  • vue常用框架,及更新内容
  • orb_slam--安装配置
  • C语言二维数组的使用详解
  • C++ —— STL容器 —— string的模拟实现
  • 北京大学:AI+Agent与Agentic+AI的原理与应用(适合科研从业者和技术爱好者阅读)
  • 宝塔面板WordPress中使用Contact Form 7插件收不到邮件的解决方法
  • 【AI论文】MiniCPM4:在终端设备上实现超高效的大型语言模型(LLMs)
  • 突破AI瓶颈:基于实时感知的智能选路实现智算负载均衡优化
  • 【教程】Android(AOSP)Framework开发/ROM定制快速教程
  • 本地部署 DeepSeek-R1-0528 超大语言模型全流程指南(含量化版优化实操)
  • HBase 安装与简单操作指南
  • 深入 Java 泛型:高级应用与实战技巧
  • 深度学习神经网络架构Transformer深刻理解
  • 论文略读:Ask, and it shall be given: On the Turing completeness of prompting
  • OpenCV 鼠标操作与响应之绘制ROI提取图像
  • antd vue a-range-picker如何设置不能选择当前和之后的时间,包含时分秒
  • SSM框架实现学生管理系统的需求分析与设计详解
  • 智能聊天AI Top10 排行榜 - 2025年05月
  • 牛客小白月赛118
  • 计算机图像处理:从像素到卷积与池化的深度解析
  • 护城河尚浅,理想汽车驶入慢车道
  • Java Stream API 在企业开发中的实战心得:高效、优雅的数据处理
  • 包含各种扁平化UI套件的psd适用于博客电商类移动端网站项目
  • 论文笔记 <交通灯><多智能体>CoLight管理交通灯