同样的代码,开发环境生效,测试环境不生效,记一次问题排查过程和原因分析

我的公众号:IT周瑜

今天有同事遇到这样一个问题,有一个新增接口在本地和开发环境的swagger上都能看到,但是在测试环境的swagger上却看不到,并且确定测试环境是最新的代码,并重新构建和部署了。

按照同事的描述,首先我得确定是不是swagger的问题,我先检查我们平台组是否有对swagger做了改造,发现确实做了改造,但都是很久以前的提交记录了,最近并没有改动。

那有什么办法确定到底是不是swagger的问题呢?问题场景是测试环境swagger上没有看到接口信息,那这个接口到底生效没有呢?调用一下不就知道了,所以我调了一下,404了,所以并不是swagger的问题,而是这个接口本身就没有生效。

那这个接口为什么在测试环境不生效,本地和开发环境却生效呢?为了确认到底是不是代码问题,我把测试环境对应分支的代码在本地跑了起来,发现接口和swagger都是生效的,所以测试分支代码是没有问题的。

那是测试环境有问题?可是要排查环境问题更加毫无头绪,而且我们测试环境是K8S集群,问了运维同事,最近也没有做什么改动。

测试分支代码没有问题,测试环境也假设没有问题,那还有哪里可能会有问题呢?

Jar包!代码没有问题,但是打出来的Jar包到底对不对呢?于是我把测试环境的Jar下载下来,解压,找到问题接口所属Controller类的class文件,用IDEA反编译这个类,发现没错啊!是最新的代码啊!有那个接口啊!怎么明明有Controller,有接口,但接口却没有生效啊?

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值