题库系统集成项目管理工程师
公开详解

系统集成项目管理工程师 · 第三版 · 第7章 软硬件系统集成

接口升级时,怎样新增客户等级字段而不破坏仍在运行的旧客户端?

4 道章节练习题
单选题第7章 软硬件系统集成4 / 4

某客户查询API已被多个旧版客户端使用。接口契约明确约定:客户端应忽略未识别的响应字段。现需返回新增的“客户等级”信息,下列变更中最有利于保持现有客户端兼容的是()。

选择答案
未作答
答案与解析

正确答案 B

题干已经说明旧客户端会忽略未知响应字段。在这一既定契约下,保留原有字段、类型和语义,只增加可选字段并定义缺省含义,通常不要求旧客户端修改;重命名、改变类型或把可选参数改为必填都会破坏原调用方式。

这道题先别急着套‘加字段不破坏’。题干特意补了一句:旧客户端按契约忽略未知响应字段。有了这个前提,新字段才有容身空间。原来的路标不拆、含义不改,只在旁边加一个旧车可以忽略的新路标,答案就是B。

选项分析

A
旧客户端仍会读取customerName,直接重命名会导致字段缺失。
B
正确,在题设容错契约下,保留原接口行为并增加可选字段,旧客户端可继续工作。
C
新增必填要求会使原本合法的旧请求被拒绝,是典型破坏性变更。
D
改变既有字段类型可能导致反序列化失败,也改变了已发布契约。

容易混淆的地方

有同学会机械记忆‘新增字段永远兼容’。强类型客户端、严格JSON Schema或签名校验都可能因未知字段失败,所以考试和项目都要先确认契约是否允许扩展。

再巩固一步

  • 把接口变更分为增加、删除、重命名、改类型、改语义五类逐项判断
  • 联调验收时保留至少一个真实旧客户端做兼容性回归
原创高频场景题查看完整题目与详解

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息