我目前正在调用一个Web服务,它返回一个服务定义的类,我在我的应用程序中解释它。我正在考虑要求这个Web服务的供应商在这个类中添加一个属性,这将使我和其他客户的生活更加轻松。要明确我不是要求他们修改现有的行为或属性,所以这会扩展现有的功能。
我的问题是,如果他们将此属性添加到课程中,是否会对现有客户的应用程序产生负面影响?
答案 0 :(得分:3)
这可能是一个问题,是的:
它也可以工作......它只需要测试/计划。
更安全的选项(如果您的复杂部署不能同时进行)是考虑密封API并添加新的“v2”端点等。
答案 1 :(得分:2)
是的,如果您尚未更新代理,则可能意味着您会收到序列化错误。它更好地版本化服务接口,即使这意味着同时支持多个版本。
答案 2 :(得分:1)
除了你要求第三方承担开发的事实之外(他们通常不会兴奋)。修改/扩展Web服务可能需要停机,这可能很重要。它还会干扰其API的向后兼容性。
如果该属性包含大量额外数据,并且会不必要地传播给所有客户端,那么还有一个性能考虑因素。