确保向后兼容性的API设计
在设计确保向后兼容性和新版本发布的API时,是否需要记住任何最佳实践。欢迎提供文章/博客的链接。请保持这两个链接的运行,并在url中显示版本确保向后兼容性的API设计,api,backwards-compatibility,Api,Backwards Compatibility,在设计确保向后兼容性和新版本发布的API时,是否需要记住任何最佳实践。欢迎提供文章/博客的链接。请保持这两个链接的运行,并在url中显示版本api.mysite.com/[version]/api/url/here。当API的新版本到达时通知用户,并在一段时间后删除旧版本。或者当它不再使用,或者像6个月,确保用户有足够的时间来改变它 或者让它永远运行,但不要为它提供任何新功能。您应该查看关于API设计的演示文稿。它来自谷歌,非常好。 它还涉及向后兼容性和新版本 最好的方法是在新版本中使用新接口和
api.mysite.com/[version]/api/url/here
。当API的新版本到达时通知用户,并在一段时间后删除旧版本。或者当它不再使用,或者像6个月,确保用户有足够的时间来改变它
或者让它永远运行,但不要为它提供任何新功能。您应该查看关于API设计的演示文稿。它来自谷歌,非常好。 它还涉及向后兼容性和新版本
最好的方法是在新版本中使用新接口和类保留旧接口或类,并将它们标记为已弃用(意味着这些将在将来的版本中删除)
请听API设计师牢记公共接口和发布接口之间的区别。这基本上就是我在多个项目中使用的方法。我经常看到的另一种模式是让
api.example.com/
指向api的最新版本——请注意缺少版本号。不想要最新和最好版本的客户端可以自由点击版本化的URL-api.example.com/v1/
如果在URL方案中包含版本化,是否仍然可以将其称为REST api还有一些讨论。再见,谢谢。这些更倾向于API的版本控制和部署。我想知道是否有任何关于如何公开API的指南,如果您的数据架构发生变化(您删除/修改通过API等公开的某些数据类型),会发生什么情况@Sampat如果您喜欢答案(作为最佳答案),请标记该答案way@Anurag按照你建议的方法,如果我指向最新版本并实现我的端点解决方案,并且可能正在开发中,您的新版本API将在同一URI上发布,并且您将当前的live版本设置为/vn/那么仍然有可能破坏端点?但仍然破碎,也许就是这个?链接已断开。谢谢@user180574。我编辑了我的答案并加入了新的链接。