javascript - 在响应 JSON (HTTP GET) 中添加新字段时是否需要更新主要 API 版本?
问题描述
例如,我创建了 API 1.0.0:
HTTP GET /getInfo 不带参数。
回复:
{
"info1": "..."
}
发布 1.0.0 后,我想添加新字段:
{
"info1": "...",
"info2": "..."
}
1) 我不知道 API 的客户是谁。但有可能(理论上)他们使用不灵活的反序列化/序列化,他们会遇到问题。是真实案例吗?对客户有危险吗?
2)在这种情况下,我需要将 API 版本升级到 2.0.0 吗?还是1.1.0?
3)关于 HTTP POST 及其带有新字段的正文的类似问题。
解决方案
这通常不被视为重大更改,因此不,可能不需要主要版本更改。这仍然是向后兼容的,因为旧客户端在反序列化 JSON 时可以忽略这些字段。(大多数反序列化器,例如 C# 中的 Newtonsoft,已经会自动忽略任何额外的字段,因此不需要更改代码)。
如果您删除了字段、添加了新的必需参数等,那么您可能需要这样做,因为这可能会破坏。
推荐阅读
- html - 基于偏好颜色方案媒体查询加载 CSS
- string - Powershell - 从 FQDN 中剪切域名
- c# - WPF 选项卡中显示的 OpenFileDialog
- php - 如何访问 Lexik Translation Bundle 的数据库数据?
- c - 位域实际上是如何工作的?在什么情况下会发生位填充?
- flutter - 从颤动的长文本末尾删除矩形框
- sql - 如何编写优先查询,就像我们有 3 个值一样,我们必须显示具有最高优先级的值
- x86 - `_mm_clevict` 内在和相应的 clevict0、clevict1 指令的目的是什么?
- c# - 从asp.net MVC中我的控制器类中的SELECT标记获取值的问题
- php - Wordpress meta_query 如何在 meta_key 上使用“like”比较