1. 需求
各位盆友在日常开发中,有没有遇到上游接口突然不合作了,临时需要切换其他接口的情况?这不巧了,博主团队近期遇到了,又尴尬又忐忑。
尴尬的是临时通知不合作了,事前没有任何提醒;
忐忑的是新的备选接口,还需一定时间配合。并且在紧张且有限的时间内,如何成功实现更换,需要一定的储备和技巧。
2. 解决过程
幸亏博主早年应对过此类“突发”
情况,有一定的“应急预案”
。
解决的思路大致分为几步:
- 获取成功和失败的请求和返回报文,存在一个文件中;
- 区分相同的部分和差异部分,包括接口响应码,接口的字段层级、所在位置等;
- 评估替换方案,比如相同字段直接替换,差异字段置空或者寻找其他替代;
- 定义新老字段的映射mapping,开发联调;
当然这里最关键的问题是如何解决缺失字段(原来存在,而新接口不提供的情形),通常又有几种方式:
- 提需求,要求上游接口改造
- 自己加工
3. 总结经验
微服务的时代,厂商接口突然停用,已经司空见惯,当然原因千差万别。需要我们能够学到做到胸有成竹,沉着应对的办法,切忌急躁,容易乱上加乱~