添加字段以响应 API 时的向后兼容性

Backward Compatibility when adding a field in response of an API

我在对象的 Json 响应中添加了几个新字段。当我们更新客户端以点击 API 时,它运行良好。但是旧版本的 API 给出了序列化错误。我正在使用 PROTOSTUFF 来序列化和反序列化对象。如何让旧版本的客户端忽略新字段并继续正常工作。 我试过使 字段变为瞬态和 @JsonIgnore 标签

您的控制器需要版本控制。您必须实施一个版本控制机制来确定在 版本中应该调用哪个方法...几乎不可能通过控制器中的单个操作来处​​理这个问题。

见下文link:

REST API Versioning

Introduction to API Versioning Best Practices

解决方案是在 class 中所有字段的末尾添加额外的字段,而不是在中间。 PROTOSTUFF 忽略最后添加的字段作为未知字段并且不会抛出错误。