首页 > 解决方案 > 在响应 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 及其带有新字段的正文的类似问题。

标签: javascriptjavapythonc#api

解决方案


这通常不被视为重大更改,因此不,可能不需要主要版本更改。这仍然是向后兼容的,因为旧客户端在反序列化 JSON 时可以忽略这些字段。(大多数反序列化器,例如 C# 中的 Newtonsoft,已经会自动忽略任何额外的字段,因此不需要更改代码)。

如果您删除了字段、添加了新的必需参数等,那么您可能需要这样做,因为这可能会破坏。


推荐阅读