从已发布的 API 中使用的实体中删除 属性 是否向后兼容

Is deletion of property from entity used in published API backward compatible

例如,我在已发布的 API:

中使用此 class
public class RestEntity
{
    public string Prop1{get;set;}
    public string Prop2{get;set;}
}

RestEntity 中删除 Prop1 是否向后兼容?

这怎么可能向后兼容?一旦您公开公开 API,这就是您保证遵守的合同的一部分。

假设您有客户使用您的 API 并依赖于 属性...当他们开始在其中接收 null/empty 字符串时会发生什么?您 可能 唯一逃脱的是重命名实际的 资源 (model/class),假设客户端正在反序列化 [=26] =] 到他们唯一的模型副本中 - 但这是一个很大的问题。

你最好研究 versioning 你的 Public API(感谢@peco 的 link)。