记录一次API报文替换点滴

1. 需求

各位盆友在日常开发中,有没有遇到上游接口突然不合作了,临时需要切换其他接口的情况?这不巧了,博主团队近期遇到了,又尴尬又忐忑。

尴尬的是临时通知不合作了,事前没有任何提醒;
忐忑的是新的备选接口,还需一定时间配合。并且在紧张且有限的时间内,如何成功实现更换,需要一定的储备和技巧。
在这里插入图片描述

2. 解决过程

幸亏博主早年应对过此类“突发”情况,有一定的“应急预案”

解决的思路大致分为几步:

  1. 获取成功和失败的请求和返回报文,存在一个文件中;
  2. 区分相同的部分和差异部分,包括接口响应码,接口的字段层级、所在位置等;
  3. 评估替换方案,比如相同字段直接替换,差异字段置空或者寻找其他替代;
  4. 定义新老字段的映射mapping,开发联调;

当然这里最关键的问题是如何解决缺失字段(原来存在,而新接口不提供的情形),通常又有几种方式:

  1. 提需求,要求上游接口改造
  2. 自己加工
    在这里插入图片描述
3. 总结经验

微服务的时代,厂商接口突然停用,已经司空见惯,当然原因千差万别。需要我们能够学到做到胸有成竹,沉着应对的办法,切忌急躁,容易乱上加乱~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言:文件操作

文章目录 每日一言文件操作文件的打开和关闭操作:文件的读写操作: 结语 每日一言 If I have seen further, it is by standing on the shoulders of giants. 如果我能看得更远,是因为站在巨人的肩膀上。 文件操作 C语言文件操作主要通过文…

基于SpringBoot和微信小程序的校园快递平台系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot和微信小程序的校园快递平…

AI浅谈:计算机视觉(CV)技术的优势和挑战

目录 一、计算机视觉技术的优势 1.效率和精度提高 2.提高安全性 3.促进自动化 4.促进科学研究 5.促进商业发展 二、计算机视觉技术的挑战 1.环境变化 2.精度问题 3.隐私和安全问题 4.数据质量 5.系统复杂度 以上是对计算机视觉技术的优势和挑战的概述,…

《哥德尔证明》阅读笔记——一致性问题的绝对证明

前言 追问一个公理系统的一致性,我们知道一个模型法,即从现实经验中找到一个模型,能将所有公理映射成此模型的真陈述,但很多系统模型是无穷的,比如想检验“空间中两点能确定一条直线”这个欧氏几何公理在空间模型中的…

MQTT 介绍与学习 —— 筑梦之路

之前写过的相关文章: MQTT协议(转载)——筑梦之路_mqtt url-CSDN博客 k8s 部署mqtt —— 筑梦之路-CSDN博客 CentOS 7 搭建mqtt服务——筑梦之路_腾讯云宝塔搭 centos 7.9.2009 x86_64 建标准mqtt服务器-CSDN博客 mqtt简介 MQTT&#xff…

Js中数组的实用语法

1. 循环 a. 循环项 const arr [1, 2, 3];for (let item of arr) {console.log(item); } // 输出:1 2 3b. 循环键 const arr [1, 2, 3];for (let key in arr) {console.log(key); } // 输出:0 1 2c. 循环键值对 const arr [1, 2, 3];arr.forEach((…

Mysql数据库 19.Mysql 锁

MySQL锁 锁:锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制,在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一…

SpringBoot 自动装配原理---源码详解

目录 SpringBoot 自动装配原理源码流程详解:流程总结:条件匹配解释:其他解释: SpringBoot 自动装配原理 源码流程详解: 1、先看启动类,启动这个main方法,然后调用这个run方法。 2、把 启动类作…

南京邮电大学数据库实验二

1. 用create database命令创建电影数据库(MovieDB)。 create database MovieDB; 在创建表之前需调用一下指定的数据库: use MovieDB; 2.在电影数据库中用create table 命令创建如下5个关系模式: 创建movies表: create table Movies( ti…

城市货车通行码二维码解析

目录 说明 界面 下载 城市货车通行码二维码解析 说明 二维码扫描信息为: tmri://12123?ywlx1041&ewmeyJ0eHpiaCI6IjUxMDcwMDAwMDE0MyIsInR4em1jIjoiQeivgSIsImhwemwiOiIwMiIsImhwaG0iOiLlt51CMkwzMjYiLCJrc3JxIjoiMjAyMS0xMS0yOCIsImpzcnEiOiIyMDIyLTEyL…

虚幻学习笔记12—C++类的实例化

一、前言 本系列如无特殊说明使用的虚幻版本都是5.2.1,VS为2022版本。在Unity中通常创建的脚本都默认继承了MonoBehavior,都是不能再用代码New而实例化的,虚幻也是一样不能直接New来实例化。在Unity中是通过Instantiate方法来实例化一个游戏对…

C++ lambda表达式

写法格式 lambda表达式的写法格式如下: [capture-list] (parameters) mutable -> ret { statement } 各部分的说明为:[capture-list] : 捕获列表,编译器根据[]来判断接下来的代码是否为lambda函数,捕捉列表能够捕捉上下文中…

【ArcGIS Pro微课1000例】0055:Pro中如何处理个人数据库(.mdb)

文章目录 原因分析解决方案使用ArcGIS Pro的用户应该已经发现个人地理数据库(.mdb)不能使用了。随着ESRI的软件技术革新,在ArcGIS Pro中不再支持且将来也不会支持个人地理数据库(.mdb)。这个确实很烦人,很多项目还是在使用mdb数据库的。不过ESRI也给出了一些解决办法,不…

二叉搜索树的简单C++类实现

二叉搜索树(BST)是一种重要的数据结构,它对于理解树的操作和算法至关重要。本文将通过一个C示例来展示如何实现一个BST,并在插入和删除节点时提供清晰的输出,以帮助可视化这些操作的过程。 二叉搜索树的节点结构 首先…

Elasticsearch 8.9 search命令执行查询源码

一、相关的API的handler1、接收HTTP请求的handler2、往数据节点发送查询请求的action(TransportSearchAction)3、通过transportService把查询请求发送到指定的数据节点 二、数据节点收到请求的处理逻辑1、尝试从缓存中加载查询结果2、不通过缓存查询,直接执行查询(1…

Elasitcsearch--解决CPU使用率升高

原文网址:Elasitcsearch--解决CPU使用率升高_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何解决ES导致的CPU使用率升高的问题。 问题描述 线上环境 Elasticsearch CPU 使用率飙升常见问题如下: Elasticsearch 使用线程池来管理并发操作的 CPU 资源。…

智慧农业大数据可视化UI,数据展示平台(免费可视化大屏模版PS资料)

大屏幕展示方式可以实现信息的直观呈现与交互操作,使农业生产者能够一目了然地掌握有关农情、天气、土壤等数据信息,从而科学决策。智慧农业大数据可视化大屏是提升农业生产效益的一种重要工具。 现分享亩产效益指标、农业大数据可视化、农业数据展示平…

QEMU源码全解析 —— virtio(11)

接前一篇文章: 上一回对于virtio_balloon_pci_realize函数进行了详细解析。最后讲到在virtio_balloon_pci_realize函数的最后一步调用了object_property_set函数,从而导致了virtio_device_realize函数的执行。本回就来对于virtio_device_realize函数进行…

Flutter工具安装与环境搭建

1、下载 Flutter SDK,下载完成后,在需要放置SDK的地方解压即可。 注意: 请勿将 Flutter 有特殊字符或空格的路径下。请勿将 Flutter 安装在需要高权限的文件夹内,例如 C:\Program Files\。 2、配置环境变量 例如: …