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

调用feign返回错误的数据

bug描述:

在一个请求方法中会调用到feign去获取其他的数据。

List<Demo> list = aaaFeignApi.getData(personSelectGetParam);

在调用的时候,打断点到feign的地方,数据是存在的,并且有15条。但是返回到上面代码的时候数据就没了。

下面的代码是上面的feign调用的具体代码,下面的代码返回了15条数据。但是返回到上面的list就没了

List<Demo> list = aaaService.getData(param);

上面的是伪代码,下面的是真实业务场景。

方法执行的结果是15条数据,返回到变量里面就没了。

在这里插入图片描述
在看看结果:
在这里插入图片描述

项目背景:

这个项目使用的是springbootfeign调用的是另外一个模块里面的接口。

使用nacosjekins部署服务,

这个feign是很早以前就已经写好了,现在需要对其功能进行一些修改。

所有就改了aaaService 所调用的mapper 里面的sql语句,

没改之前的sql查出来的是0条。

改了之后的sql查出来的数据是15条。

解决方法:

问题出现的原因:

调用的feign使用nacos里面注册的feign地址,由于我们修改的代码只是在本地修改了,并没有推到开发环境。所以它的请求是转发到服务器的IP地址去了,所以这个feign请求的数据是通过以前的旧sql 返回的数据。

为什么本地idea代码debug会出现返回的数据有15条,可能是idea的优化,将请求在本地模拟了的原因,实际的请求本没有打到本地的服务器,而是打到了nacos注册的其他服务器。虽然咱启动了服务也注册到了nacos,但是不知道为什么这个feign的请求就是不能打到本地。

解决:指定服务名称即可。

将这个名字指定为自己特殊的名字 aaa ,并且修改yml里面自己服务的名字 aaa,让这两个服务名对应起来。feign调用的请求就会打到本地的服务里面。

本地的服务是你修改了的最新代码,没有提交到服务器里面的。

@FeignClient(name = "aaa", fallback = aaaSupport.class)
spring:application:name: aaa

总结:

造成这个bug的根本原因就是因为我不知道feign调用的到底是那个服务器的代码。

这个feign请求一直请求到了远程其他服务器的旧代码,所以查不到数据。

如果我们指定了feign的请求服务名,并且把我们的服务名改为对应的服务名就可以指定feign的请求精确的请求到本地的修改测试的代码中来。

参考文章列表:

  1. 没有参考文章,自己调试出来。
http://www.lryc.cn/news/107474.html

相关文章:

  • 【Spring】(二)从零开始的 Spring 项目搭建与使用
  • redis五种数据类型介绍
  • 【JavaEE】Spring Boot - 项目的创建和使用
  • Git reset、revert用法
  • Redis-1
  • 【Linux】Linux服务器连接百度网盘:实现上传下载
  • ADC模拟看门狗
  • google谷歌gmail邮箱账号注册手机号无法进行验证怎么办?此电话号码无法用于进行验证 或 此电话号码验证次数太多
  • Spring:IOC技术、Bean、DI
  • 目标检测与跟踪 (2)- YOLO V8配置与测试
  • 【Leetcode】56.合并区间
  • 设置系统编码 Beta
  • phpunit
  • html学习9(脚本)
  • SpringBoot整合Caffeine
  • 元宇宙虚拟展厅的特点是什么呢?优势有哪些?
  • Day11-Webpack前端工程化开发
  • 什么是函数式编程,应用场景是什么
  • Vue3之路由认识
  • P1775 石子合并(弱化版)(内附封面)
  • jmeter之接口测试(http接口测试)
  • webpack基础知识二:说说webpack的构建流程?
  • PHP使用PhpSpreadsheet实现导出Excel时带下拉框列表 (可支持三级联动)
  • Openssh高危漏洞CVE-2023-38408修复方案
  • Android中的ContentProvider
  • if device is None and isinstance(net, torch.nn.Module):的含义?
  • C++如何用OpenCV中实现图像的边缘检测和轮廓提取?
  • 智慧水务和物联网智能水表在农村供水工程中的应用
  • 机器学习笔记 - 了解 GitHub Copilot 如何通过提供自动完成式建议来帮助您编码
  • 《数据同步-NIFI系列》Nifi配置DBCPConnectionPool连接SQL Server数据库